我正在为我的计算机科学课程开发一个图形计算应用程序。我正在对向量进行许多计算,但有时我会遇到一些严重的截断,因为它是浮点算术。
问题是我尝试了一些将浮点数的小数位限制为例如 2 位的方法。以下是我尝试过的一些事情:
1 - 除以 100。这并不总是有效。实际上,这对我不起作用。
2 - 使用十进制格式。如果我的数字低于 1000,这种格式化方式效果很好。当我有 1003.3124 这样的数字时,它会格式化为 1,003.31 。由于此格式返回一个字符串,因此浮点数的解析函数由于 coma 而不起作用。我尝试将 DecimalFormatSymbols() setGroupingSeparator 设置为不同的字符,包括无空格和无长度字符( '\u0200B', '\u0000', ... ),但我得到了 '?' 而不是所需的字符。
3 - 将语言环境设置为美国。由于我的 Windows 运行的是巴西葡萄牙语(这里的点和 coma 有不同的文件:你的 1,300.42 是我们的 1.300,42!)我认为这很愚蠢,但这不是问题所在。这也没有解决任何问题。
4 - 获取字符串,删除逗号并返回浮点数。这就是我现在正在做的事情,它工作正常。但是,由于它是一个图形应用程序,我一直在对数字进行规范化。所以字符串解决方案总是太重了。
那么你知道解决这个问题的另一种方法吗?我需要最优化的一个。对不起,如果我不清楚。