有没有一种好方法可以在 Erlang/Elixir 中将浮点数转换为字符串,无需科学记数法,也无需指定我想要多少个十进制数字?
这些都不符合我的需要。
:erlang.float_to_binary(decimals: 10): 给出尾随零小数
float_to_binary(100000000000.0, [short]).: 打印科学记数法
您可以提供compact修剪尾随零的选项:
iex> :erlang.float_to_binary(100000000000.0, [:compact, decimals: 20])
"100000000000.0"
Run Code Online (Sandbox Code Playgroud)
但请注意,浮点数无法准确地表示为小数,因此您可能会得到意想不到的结果。例如:
iex> :erlang.float_to_binary(0.1 + 0.2, [:compact, decimals: 10])
"0.3"
iex> :erlang.float_to_binary(0.1 + 0.2, [:compact, decimals: 20])
"0.30000000000000004441"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
104 次 |
| 最近记录: |