问题标签 [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.
java - Java操作数不同的一致性
你知道关于不同表示之间可行的算术运算是否有任何规则声明可以遵循?例如:7
它打印出:28152529。
结果 (c) 是 2 个操作数 a 和 b 相加的十进制表示。
如果我希望结果采用不同于十进制格式的特定表示格式怎么办?
java - 定点数的 DecimalFormat 和舍入
在使用 时DecimalFormat
,我对它在使用定点模式舍入数字时的行为感到困惑。为了使事情更具体:
此代码段的输出是:
从第一行输出中,我们注意到实际值低于2082809.08058973
和2082809.08058974
( ...49...
)之间的中点。尽管如此,DecimalFormat
在提供double
参数时将值向上舍入。
其他值向下舍入:
这并非在所有情况下都会发生:
在我看来,a 的格式化字符串double
是使用半偶数舍入舍入的,该舍入基于一个不精确的十进制值,该十进制值是由 的行产生的Double.toString()
,而不是所讨论的实际数学值double
。当格式化的精度非常接近(或超过)double
类型提供的精度时,事情开始变得有些随机。
在上面介绍的所有情况下,格式化相应的BigDecimal
似乎可以按预期执行舍入。
DecimalFormat
在这种情况下,我找不到任何描述正确行为的规范。
这种行为是否记录在某处?
从正确性的角度来看,将实际数学值四舍五入不是更可取吗?
我知道写作的人
1.0...35
会(天真地?)期望它被四舍五入1.0...4
,但1.0...35
甚至可能无法用 Java 中可用的任何原始数据类型表示......
编辑:
我已经向 Oracle 提交了一份报告——希望他们能够解决或澄清这个问题。
iphone - Show Unnecessary "0" inputs
I am building a calculator and have run into a problem with displaying unnecessary 0's (it isn't displaying them and I want it to be).
An example of what it does now is as follows. [Represents Calculator Screen]
[Blank Calculator Screen]
User hits "4"
[4]
User hits "."
[4]
User hits "0"
[4]
User hits "0"
[4]
User hits "5"
[4.005]
Instead, I want to make it do the following:
[Blank Calculator Screen]
User hits "4"
[4]
User hits "."
[4.]
User hits "0"
[4.0]
User hits "0"
[4.00]
User hits "5"
[4.005]
I use a number formatter as shown below...
I use the following to call my numbers...
Thanks!
java - 如何在 Java 中始终打印 15 个非零数字?
例如说我有 Double 值1.23456789123456
。我希望能够将此数字乘以 10 的各种幂并将输出显示为
有没有办法在 Java 中做到这一点,而不必使用 if...then 语句来处理 10 的不同幂所需的不断变化的小数精度?
java - 用小数分隔符格式化数字/字符串
我正在尝试使用DecimalFormat
. 但我希望它格式化一个数字,就像
但我得到1,234.0
或1,234.00
取决于我的十进制格式规则我必须做什么才能完成这项工作?
java - 在不修改小数的情况下将逗号(分组分隔符)添加到数字?
我正在尝试格式化字符串以在 3 位组之间添加逗号
例如:
我正在尝试弄清楚如何使用 DecimalFormat 来完成它,到目前为止,我一直在使用我自己的一个似乎过于复杂的脚本。我不知道该怎么做,使用 # 只是隐藏尾随零并使用 0 将它们添加到数字中。
这就是我现在正在尝试的:
我敢肯定这一定很容易,但我不知道该怎么做。我不必用 DecimalFormat 来做,我只是认为这会是更简单的方法。我怎样才能简单地添加逗号而不以任何方式修改小数?
java - 转换为十进制格式时出错
嘿伙计们,我正在使用 gps 位置,所以我正在获取坐标,我现在需要将这些坐标传递给我的 Web 服务并将其存储到我的数据库中。但是我无法以正确的方式存储它,我认为我得到的数据对于数据库来说太大了,这就是我试图将坐标转换为十进制格式的原因。当我将 DecimaFormat 方法放入我的代码中时,我遇到了一些错误,你们能帮帮我吗?
这些是错误:
这些是我的代码(特别是在传递过程和 DecimalFormat 方法上):
java - 需要帮助对整数进行一些特定的格式化(java)
好吧,我正在做一个广播节目,目前广播频率是整数,例如;107900、87900。
我需要将这样的数字转换成看起来像这样的字符串,
107.9、87.9
我一直在玩 DecimalFormat 但没有任何成功。任何提示或提示表示赞赏!
这是我尝试过的一些事情,
谢谢!
java - 如何使用十进制格式显示电话号码
您好我想使用DecimalFormat来显示:
8392472
作为
839 24 72
我努力了
我也试过"### ## ##"
java - 格式化没有语言环境的数字
用户可以在 GUI 上指定文件输出格式。特别是他可以定义数字格式。第一个想法是让他指定一种可以与 DecimalFormat 一起使用的格式,但 DecimalFormat 对我的用例来说至少有两个主要缺点:
- 它使用用户的语言环境,所以##.## 转换'.' 到“,”在德国。
- 逗号前后的数字没有区别,因此您不能将 12.50 格式化为 1250。在我的用例中也是必需的。
StringFormat 也无法做到这一点。所以我的问题是你是否知道任何已经处理这个问题的库,或者我是否必须自己编写一个简单的格式化程序。