首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条件NumberFormatter?

条件NumberFormatter?
EN

Stack Overflow用户
提问于 2017-01-15 03:33:22
回答 2查看 106关注 0票数 0

是否有一种方法可以使NumberFormatter执行以下操作:

  1. 如果双倍是一个整数,如5.0,则显示"5“
  2. 如果双十进制为5.6,则显示"5.6“
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-15 03:40:19

代码语言:javascript
复制
double someNum = 5.6d;
DecimalFormat df = new DecimalFormat("#.#");
String num = df.format(someNum);
if (num.substring(num.length - 1).equals("0")) {
    num = num.substring(0, num.length - 2);
}
System.out.println(num);

DecimalFormat实例将double格式化为字符串。代码检查精度的第十位,即小数位右边的第一个数字,如果是零,则只显示整数。否则,它将显示出完整的精度。

票数 -1
EN

Stack Overflow用户

发布于 2018-09-03 00:39:04

我知道这是个老生常谈的问题,但这应该符合你的要求:

代码语言:javascript
复制
    var myNumber:Double = 0.0  // set to 5.0 or 5.6 to see result

    let formatter = NumberFormatter()
    formatter.maximumFractionDigits = 4
    let x = formatter.string(from: NSNumber(value: myNumber)) ?? "$\(myNumber)"
    print("x = \(x)")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41657559

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档