Clojure - 如果需要四舍五入到十进制
Clojure - round to decimal if needed
首先,这不是clojure-rounding-to-decimal-places的副本。
这几乎是同一个问题,但有一点不同:我想将值四舍五入到 最大值 的 N 位小数,但如果不需要则不添加它们。
4 位小数的示例:
0.0 => 0.0
0.1 => 0.1
8.6667 => 8.6667
3.33333333 => 3.3333
4.66666666 => 4.6667
听起来我们在这里主要关心的是制作数字,当以十进制表示并绘制到屏幕上时,它们将以正确的位数打印出来,而不必将这个位数传递到他们可以传递的任何地方从打印。这是我的一些假设,所以如果我回答了错误的问题,我深表歉意。
user> (map (fn [x] {x (Double. (format "%.4f" x))})
[0.0
0.1
8.6667
3.33333333
4.66666666])
({0.0 0.0}
{0.1 0.1}
{8.6667 8.6667}
{3.33333333 3.3333}
{4.66666666 4.6667})
这使用格式来确保它们的格式正确。您还应该通过数学求解来保存字符串创建和解析。如果速度很关键,那么如果你非常小心,它可能会更快。
首先,这不是clojure-rounding-to-decimal-places的副本。
这几乎是同一个问题,但有一点不同:我想将值四舍五入到 最大值 的 N 位小数,但如果不需要则不添加它们。
4 位小数的示例:
0.0 => 0.0
0.1 => 0.1
8.6667 => 8.6667
3.33333333 => 3.3333
4.66666666 => 4.6667
听起来我们在这里主要关心的是制作数字,当以十进制表示并绘制到屏幕上时,它们将以正确的位数打印出来,而不必将这个位数传递到他们可以传递的任何地方从打印。这是我的一些假设,所以如果我回答了错误的问题,我深表歉意。
user> (map (fn [x] {x (Double. (format "%.4f" x))})
[0.0
0.1
8.6667
3.33333333
4.66666666])
({0.0 0.0}
{0.1 0.1}
{8.6667 8.6667}
{3.33333333 3.3333}
{4.66666666 4.6667})
这使用格式来确保它们的格式正确。您还应该通过数学求解来保存字符串创建和解析。如果速度很关键,那么如果你非常小心,它可能会更快。