java - 要么显示最大小数位数,要么根本不显示

标签 java android

目前,使用DecimalFormat我想显示最大小数位数,或者根本不显示。例如,

  1. 100.0 显示为“100”
  2. 100.123 显示为“100.123”
  3. 100.123456789012345 显示为“100.123456789012345” 使用格式为

new DecimalFormat("0.###"); 部分正确。它适用于第一种情况,第二种情况,但不适用于第三种情况。因为,我不知道我应该有多少#

那么,我可以知道我应该使用正确的DecimalFormat吗?

最佳答案

您可以使用 setMaximumFractionDigits() 来执行此操作。最大值为 340,因此不妨将其设置为该值:

public static void main(String[] args) {
    DecimalFormat formatter = new DecimalFormat();
    formatter.setMaximumFractionDigits(340);
    BigDecimal[] numbers = {new BigDecimal("100.0"), new BigDecimal("100.123"), new BigDecimal("100.123456789012345")};
    for (BigDecimal number : numbers) {         
        System.out.println(formatter.format(number));
    }
}

打印

100
100.123
100.123456789012345

关于java - 要么显示最大小数位数,要么根本不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12651694/

相关文章:

android - 保存网页以供离线使用并调用相同的 android

Android - MVVM 中 ViewModel 状态的最佳实践?

android - 使用设备存储中的图像填充 ListView 中的 ImageView

android - AVD 屏幕录制无法正常工作

java - 与 org.iq80.snappy 存在潜在冲突

java - solr LowerCaseFilterFactory 不应过滤数字

java - jpackage pkg codesign -- appstore 提交错误

java - 根据标签的变量评估其主体的自定义标签

java - 在较早的 Android 中显示本周的 7 个日期

java - Android 获取 XML 值