java - 将可能为空的 Double 值转换为没有指数的字符串
问题描述
我正在尝试创建一个函数,该函数将输出 Double 作为具有以下要求的字符串:
- 它不会与指数一起显示。我相信 Double.toString(dblVal) 或 dblVal.toString() 会处理指数问题。
- 如果 Double 为 null,则不会出错并显示为“null”。如果 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() 然后只是手动检查它是否为空如果是这样,让 strVal 为空?
解决方案
没有“一个”标准库方法可以满足您的所有需求。更棘手的部分是“不显示指数”——我能想到的一种方法是在BigDecimal
课堂上。这涵盖了您的两个要求:
String doubleToString(Double dbl) {
if (dbl == null) return "null";
else return BigDecimal.valueOf(dbl).toPlainString();
}
示例:doubleToString(1234e-100)
返回0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234
推荐阅读
- java - Android Oreo+ 中的 AlarmManager 和 BroadcastReceiver
- snowflake-cloud-data-platform - 如何在不中断共享的情况下通过 Azure 数据工厂“复制数据”加载数据?
- swift - 您如何设置货币标签以显示较小的美分字体?
- excel - VB.net 项目的导出到 Excel 功能在混淆后停止工作
- jquery - 如何使用它们之间的分隔线调整两个 div 的大小?
- python - 使用 GCN-LSTM 为图表示的场景生成描述
- python - 为什么不显示 tkinter 窗口?
- c# - 如何在 C# 中验证 PowerShell 脚本语法?
- java - 如何在 Hadoop SequenceFile 中找到值?
- scala - 如何使用 scala 在路由上绑定枚举?