c# - 将双精度 0,10 转换为字符串并在最后一位数字后保留 0 或按原样将双精度转换为字符串
问题描述
我正在努力将双精度转换为字符串。数字包含 0,一旦您评估变量就会消失。我已经尝试过 tostring('##.00') 但它不适用于所有情况。例如,如果 value 只有两位数被 . tostring('##.00') 方法将在末尾添加额外的 0。请参阅下面的示例
$d = (1.1).ToString('##.00') # Results in 1.10
$d = (1.10).ToString('##.00') # Results in 1.10
请告知如何将双精度转换为保留所有数字的字符串,包括 0(如果存在)。
解决方案
正如@Marc Gravell 上面所说,掩码##.00 强制在小数点分隔符后显示2 位数字。如果您不想在结果字符串中添加无关紧要的零,请尝试使用 ##.## 作为掩码:
PS L:\> echo (1.1).ToString('##.##')
1,1
PS L:\> echo (1.10).ToString('##.##')
1,1
最后一个例子是由上面的 Jeroen 解释的 - 数字 1.1 和 1.10 是相等的,所以如果你想区分它们(出于任何非数学原因) - 那么你需要定义明确的规则/案例 1.1 不应该等于 1.10 .
推荐阅读
- sas - 如何在 sas 中创建一个表来查看列变量相对于另一个的计数?
- python - 在 DRF 上 POST 没有正文
- angular - 角垫滑动切换中的多个标签
- c - Valgrind 在函数中使用 strncpy 时报告无效的读取大小为 1
- python - PyPi 包应用程序运行而不是使用 runserver 命令克隆的 repo
- d3.js - fork D3 v5 Zoomable Sunburst 坏了
- c++ - 具有 C++ 17 的 gcc 9.3 上的结构成员的特征运行时对齐断言
- javascript - 如何在 Angular 8 应用程序中使用香草 JS 签名板?
- javascript - Javascript将多个html表导出到一个excel文件
- javascript - 了解 webNavigation.onHistoryStateUpdated() 行为