【问题标题】:Using ∞ instead of "infinity" in toString()在 toString() 中使用 ∞ 而不是“无穷大”
【发布时间】:2013-03-19 13:33:18
【问题描述】:

如何让 Java 在打印/toString 浮点值(float、double、Float、Double)时使用 ∞ 符号而不是字符串“infinity”?

【问题讨论】:

    标签: java numbers special-characters tostring infinity


    【解决方案1】:

    您不能更改默认的toString 方法,该方法不是用于用户显示,而是用于调试/记录。

    但你可以配置自己的DecimalFormat

    DecimalFormatSymbols symbols = new DecimalFormatSymbols(Locale.ENGLISH);
    symbols.setInfinity("∞");
    DecimalFormat decimalFormat = new DecimalFormat("#.#####", symbols);
    

    你这样使用它:

    String str = decimalFormat.format(myDouble);
    

    请注意,在负无穷大的情况下,格式化程序会自动添加一个减号。

    【讨论】:

    • "default DecimalFormat" 是什么意思? DecimalFormat 是您根据需要实例化的类。您构建一个实例,然后在需要的地方使用它。
    • 我的意思是,改变Double.toString()的默认行为,即改变FloatingDecimal.toJavaFormatString()的默认行为。我错误地认为这涉及到 DecimalFormat 对象。
    猜你喜欢
    • 1970-01-01
    • 2022-08-12
    • 2019-03-19
    • 2021-03-11
    • 2020-12-01
    • 2019-12-03
    • 2012-02-09
    • 2015-03-22
    • 1970-01-01
    相关资源
    最近更新 更多