条件数字格式化程序



有没有办法制作一个执行以下操作的数字格式化程序:

  1. 如果双精度是像 5.0 这样的整数,则显示"5"

  2. 如果双精度是小数,如 5.6,则显示"5.6"

我知道

这是一个老问题,但这应该完全按照您的要求进行:

    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)")
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实例将双精度值格式化为字符串。 代码检查精度的第十位,即小数点后右的第一个数字,如果为零,则仅显示整数。 否则,它将显示完全精度。

最新更新