How to input currency format on a text field (from right to left) using Swift?

前端 未结 9 1376
甜味超标
甜味超标 2020-11-22 01:57

I have a number let’s say 0.00.

  • When the user taps 1. We should have 0.01
  • When the user taps 2. We should display 0.
9条回答
  •  我在风中等你
    2020-11-22 02:42

    Try this piece of code:

    struct DotNum {
      private var fraction:String = ""
      private var intval:String = ""
      init() {}
      mutating func enter(s:String) {
        if count(fraction) < 2 {
          fraction = s + fraction
        } else {
          intval = s + intval
        }
      }
      private var sFract:String {
        if count(fraction) == 0 { return "00" }
        if count(fraction) == 1 { return "0\(fraction)" }
        return fraction
      }
      var stringVal:String {
        if intval == ""  { return "0.\(sFract)" }
        return "\(intval).\(sFract)"
      }
    }
    var val = DotNum()
    val.enter("1")
    val.stringVal
    val.enter("2")
    val.stringVal
    val.enter("3")
    val.stringVal
    val.enter("4")
    val.stringVal
    

提交回复
热议问题