问题标签 [decimalformat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
485 浏览

java - 十进制格式的问题

嘿,我正在使用以下代码将我的数字格式化为有两位小数

当我打印出结果时,它给我的答案只有一位小数。请有人能帮我阻止它。

0 投票
1 回答
1146 浏览

java - how to change the size of a number before the decimal point with DecimalFormat method

how to limit the number of digits of the whole number itself not just the fractional part of the number after the decimal?

for example using the number 54321.12574857f with the method DecimalFormat("##0.##"); it should return 543.12 or 321.12, the two decimal places after the decimal are correct however I want to reduce the numbers before the decimal to only 3. how is this done?

after entering the number 54321.12574857 I was using the parameter for the DecimalFormat method of ##0.## and I was expecting 543.12, or 321.12 not what I am getting which is 54321.12

the only numbers changed by DecimalFormat method are those after the decimal

0 投票
2 回答
5705 浏览

java - 当输入为 xx.x 时,DecimalFormat 无法正常工作

我有以下代码DecimalFormat

这给了我如下输出。

我面临的问题是第二个数字。我想将其打印为 50.00。

知道我该怎么做吗?

演示

0 投票
3 回答
6539 浏览

android - 如何使用小数分隔符正确格式化 Double 值?

我有一个使用千位分隔符 (,) 和小数分隔符 (.) 的应用程序,我在 2 台平板电脑上使用了这个应用程序,它们的配置具有相同的语言 (Español),当我在第一个平板电脑上使用 15,000.00 之类的数字进行一些处理时答案是正确的,但在第二个平板电脑中,数字变为 15,00。我将第二个的语言更改为英语,并且可以正常工作,但是如何在代码上设置此数字格式?

抱歉,这不是我的母语。

谢谢您的帮助

0 投票
4 回答
224719 浏览

java - 如何将字符串解析为 BigDecimal?

我有这个字符串:10,692,467,440,017.120(这是一个数量)。

我想将其解析为 BigDecimal。问题是我徒劳地尝试了 DecimalFormat 和 NumbeFormat 。

0 投票
2 回答
394 浏览

java - 格式化十进制数

我正在格式化一个十进制数字,并且我有以下标准来格式化它:

  • 数字最多应保留两位小数(10.1234=>10.12
  • 如果小数点后只有一位数字,那么它将以额外的 0 结尾(10.5=>10.50
  • 千位分隔符将是逗号 ( 12345.2345 => 12,345.23 )

我写了以下逻辑:

现在它正在打印:

我不明白为什么行为会改变。我应该如何1111111111111111110.567打印1,111,111,111,111,111,110.57

0 投票
5 回答
475 浏览

android - DecimalFormat 国家问题

我的应用程序中有以下代码行,可以将我的百分比四舍五入到合理的长度;

这段代码在 99% 的情况下都运行良好,但是当来自一些欧洲国家的人们使用它时会崩溃,给我一个NumberFormatException.

这是因为当DecimalFormat舍入 double时56.7777,会将其舍入56,8(用逗号),这意味着当我尝试将其转换为 double 时,会引发 NumberFormatException。

有什么方法可以设置一个位置,DecimalFormat这样我就知道它总是会四舍五入56.8而不是56,8

0 投票
1 回答
530 浏览

java - 使用 NumberFormat 解析字符串

从这个 java API

解析

公共抽象数字解析(字符串源,ParsePosition parsePosition)

如果可能,则返回 Long(例如,在 [Long.MIN_VALUE, Long.MAX_VALUE] 范围内且没有小数),否则返回 Double。如果设置了 IntegerOnly,将在小数点处停止(或等效项;例如,对于有理数“1 2/3”,将在 1 之后停止)。不抛出异常;如果没有对象可以解析,则索引不变!

(或等价物;例如,对于有理数“1 2/3”,将在 1 之后停止)

他们在说什么?解析这样的字符串有可能吗?但是我也尝试过setParseIntegerOnly(false);,它只解析1。他们对我一定错过的那句话是什么意思?提前致谢。

0 投票
2 回答
1841 浏览

java - 使用 NumberFormat 格式化数字的 FieldPosition

任何人都能够用简单的英语解释从这个API中获取的以下内容吗?

您还可以使用带有 ParsePosition 和 FieldPosition 的 parse 和 format 方法的形式,以允许您:

逐步解析字符串的片段

对齐小数点和其他区域

例如,您可以通过两种方式对齐数字:如果您使用带间距的等宽字体进行对齐,您可以在格式调用中传递 FieldPosition,其中 field = INTEGER_FIELD。在输出时,getEndIndex 将被设置为整数的最后一个字符和小数之间的偏移量。在字符串前面添加 (desiredSpaceCount - getEndIndex) 个空格。

我不知道 FieldPosition 有什么用,上面发布的 API 没有帮助(至少对我来说)。显示输出的简单示例将是超级!提前致谢!

0 投票
1 回答
291 浏览

java - 澄清 DecimalFormat.setMaximumIntegerDigits() 方法参数

直接来自这个API

setMaximumIntegerDigits

公共无效 setMaximumIntegerDigits(int newValue)

设置数字的整数部分允许的最大位数。对于 BigInteger 和 BigDecimal 对象以外的格式化数字,使用 newValue 和 309 中的较低值。负输入值替换为 0。

在这种情况下,“使用 newValue 和 309 中的较低者”是什么意思?考虑到 newValue 是作为参数传递的 int 并且 309 我不知道他们指的是什么。任何线索将不胜感激。提前致谢。