【问题标题】:How to make NSNumberFormatter stringFromNumber only take positive number?如何使 NSNumberFormatter stringFromNumber 只取正数?
【发布时间】:2016-12-08 03:40:41
【问题描述】:

我正在使用NSNumberFormatterstringFromNumber 从浮点数中获取字符串。我已经设置好了,只想取正数。

numberFormatter.positiveFormat = @"#######0.00";
numberFormatter.negativeFormat = nil; // or @""

我想要的是当有一个负数时,字符串应该是 nil 或空。但是代码似乎不起作用。

有什么帮助吗?

【问题讨论】:

    标签: ios nsnumberformatter


    【解决方案1】:

    在将数字传递给 stringFromNumber 之前,对数字执行绝对函数。

    abs(number); // if your number is int
    fabs(number); // if your number is float
    

    已编辑: 在这种情况下,一个简单的 if 语句就可以了

    NSString *result = @"";
    if (number<0) {
       // do nothing
    
    } else {
      result = [formatter stringFromNumber:number];
    
    }
    

    【讨论】:

    • 感谢@GeneCode。但这不是我想要的。如果我做一个fabs,那么当有一个负数时我会得到字符串,我想要零或空字符串。
    • 是的,这行得通。仍然想知道如何使用NSNumberFormatter 解决问题?为什么我不能为指定的数字设置 nil/empty 格式?
    • 因为 nil 格式表示默认(即未格式化),因此它将按原样返回您的号码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多