是否有一些直接的方法可以确保在转换为字符串时,近似数字(即带有 Real
头的数字)不会有尾随“.”?如果在实际显示小数部分的情况下只有小数点,我希望它。
我发现的解决方案并不可靠,并且依赖于使用 Precision
和 Accuracy
一起NumberForm
以一种尴尬的方式,或者使用 RealDigits
以一种更尴尬的方式。
提前致谢。
最佳答案
我过去在用数字显示数字时使用过这个:
Integerise[x_] := If[Round[x] == x, ToString[Round@x] <> ".0", ToString@x]
只需删除
<> ".0"
如果您不希望以零小数显示整数。更新:正如dreeves 在评论中提到的,
ToString
仍然会截断一个整数的 0.0001 左右的数字并显示点。删除尾随点的更好方法是使用
Inputform
ToString 格式:NormalNumber[x_] := ToString[x, InputForm]
通过测试:
NormalNumber /@ {5, 5.5, 123.001, 123.0001}
这可以合并到
Integerise
以上以解决所指出的问题。
关于wolfram-mathematica - 抑制 Mathematica 数值输出中的尾随 ".",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1545986/