Clojure 四舍五入到小数位

标签 clojure decimal

我有代表十进制值的字符串,
例如:“0.010”、“0.0100000”、“00.01000”

我想将它们四舍五入到指定的格式,
前任: #。##

在 Java 中,我们有:

public BigDecimal setScale(int newScale, RoundingMode roundingMode) {
    return setScale(newScale, roundingMode.oldMode);
}

在 Clojure 中实现这一目标而不是使用互操作的最佳方法是什么?

最佳答案

您可以使用 Clojure 的 format以此目的。它应该为您提供解决问题的方法。以下是一些示例和引用:

user=> (format "%.2f" 0.010)
"0.01"
user=> (format "%.2f" 0.010000)
"0.01"
user=> (format "%.2f" 00.010000000)


user=> (doc format)
-------------------------
clojure.core/format
([fmt & args])
  Formats a string using java.lang.String.format, see java.util.Formatter for format
  string syntax

关于Clojure 四舍五入到小数位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10751638/

相关文章:

java - 在没有 Leiningen 的情况下在 Clojure 中包含文件 : Could not locate file

javascript - 按数字顺序对具有逗号分隔价格字符串的对象数组进行排序

javascript - 打印包含整数的 float 时删除 '.00'

ruby - 最长的循环数字

c# - 为什么 decimal.TryParse 成功解析了类似 12,2,2,2 的东西

math - 自定义类型上的函数的定点组合器?

Clojure transient 示例 - 没有显着的加速

macros - 使用宏绑定(bind) getter 和 setter

regex - Clojure 正则表达式 : If string is a URL, 返回字符串

php - 小数分钟