gpt4 book ai didi

java - 将可能为 null 的 Double 值转换为不带指数的字符串

转载 作者:行者123 更新时间:2023-12-01 14:13:13 25 4
gpt4 key购买 nike

我正在尝试创建一个将 Double 输出为字符串的函数,并满足以下要求:

  1. 它不会显示指数。我相信 Double.toString(dblVal) 或 dblVal.toString() 会处理指数问题。
  2. 如果 Double 为空,则不会出错并显示为“空”。我相信如果 Double 为空,String.valueOf(dblVal) 会自动处理这个问题。

这是我的:

function doubleToString(Double dbl) {
String strVal = null;
if (dbl != null)
strVal = String.valueOf(dbl);

return strVal;
}

满足这两个要求的最佳方法是什么?我不认为 String.valueOf 会摆脱指数所以我不应该使用 String.valueOf() 而是使用 dblVal.toString() 然后只是手动检查它是否为 null 和如果是,则使 strVal 为空?

最佳答案

没有“一个”标准库方法可以满足您的所有需求。比较棘手的部分是“不显示指数”——我能想到的一种方法是使用 BigDecimal类(class)。这涵盖了您的两个要求:

String doubleToString(Double dbl) {
if (dbl == null) return "null";
else return BigDecimal.valueOf(dbl).toPlainString();
}

示例:doubleToString(1234e-100)返回 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234

关于java - 将可能为 null 的 Double 值转换为不带指数的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62820187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com