I use double values in my project and i would like to always show the first two decimal digits, even if them are zeros. I use this function for rounding and if the value I print is 3.47233322 it (correctly) prints 3.47. But when i print, for example, the value 2 it prints 2.0 .
public static double round(double d) {
BigDecimal bd = new BigDecimal(d);
bd = bd.setScale(2, BigDecimal.ROUND_HALF_UP);
return bd.doubleValue();
}
Run Code Online (Sandbox Code Playgroud)
I want to print 2.00!
Is there …
我查看了Chart.js文档并且没有找到关于数字格式的任何内容,即数字格式为"#,###.00"的1,000.02
我也做了一些基本测试,似乎图表不接受非数字文本的值
有没有人找到一种方法来获取格式化为千位分隔符和固定小数位数的值?我想将图表中的轴值和值格式化.
我有一个用C#编写的应用程序,它没有GUI或UI,而是编写由另一个应用程序解析的文件(在XML和其他应用程序中).
我有一个客户,其CultureInfo将NumberDecimalSeparator设置为逗号,导致浮点数解析错误(PI最终为3,1415).
我想要一种在应用程序中为所有线程全局设置CultureInfo的方法.我试过了:
更改为使用显式格式不是一种选择(150K +行,大多数由前雇员编写).
[编辑] 应用程序绑定到套接字并处理来自专用客户端的请求.根据请求类型,它会生成不同的处理程序类.
对不起,当我第一次发布时,我应该在#1中澄清(我虽然)我已经在所有明确生成的处理程序中完成了这一点.
事实证明我错过了导致问题的线程/处理程序. 所以应用程序现在正常工作,但问题仍然是关于是否可以在所有线程上设置文化.
如果它可以迭代所有线程,它也会解决问题.所以:
如何在当前进程中获取所有Thread对象(而不是ProcessThread)?
我正在从JDK6升级到JDK7.以下代码演示了一个微小的变化Double.toString()
public class StringDemo
{
public static void main(String[] args)
{
System.out.println(Double.toString(.0005));
System.out.println(Double.toString(.005)); //different string
System.out.println(Double.toString(.05));
System.out.println(Double.toString(.5));
}
}
Run Code Online (Sandbox Code Playgroud)
JRE6
5.0E-4
0.0050
0.05
0.5
Run Code Online (Sandbox Code Playgroud)
JRE7
我正在寻找与上述变化相关的任何文档.兼容性页面不包含它.
5.0E-4
0.005 //changed.
0.05
0.5
Run Code Online (Sandbox Code Playgroud)
输出保存在许多参考文件中,并通过字符串比较进行比较 - 我需要修复比较,但很想知道有关此更改的更多详细信息.关于为什么这种改变会获得赏金的权威答案.
该java.lang.Double.parseValue方法以不一致的方式处理奇怪的双打表示.
如果你写了一个非常大的数字,那么它超出了double范围,但是然后附加一个大的负指数使它回到范围内,你最终在范围内(这里用Scala的REPL说明):
scala>
java.lang.Double.parseDouble("10000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000001e-400")
res25: Double = 1.0E-21
Run Code Online (Sandbox Code Playgroud)
另一方面,如果你写一个非常小的数字,这么小,它超出了double范围,但是然后使用一个大的正指数将它带回范围内,它只有在指数本身不是太大时才有效:
scala>
java.lang.Double.parseDouble("0.000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000001e400")
res26: Double = Infinity
scala>
java.lang.Double.parseDouble("0.000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000001e200")
res27: Double = 1.0E-179
Run Code Online (Sandbox Code Playgroud)
这只是一个错误,或者某个地方是否存在允许这种行为的规范,或者规范允许所有这些都失败了,当得到正确的结果时,应该感谢一个人的祝福?(如果它是一个错误,它已被修复?)
(旁白:我正在编写自定义的字符串到双重代码,并且会针对棘手案例推迟Java默认实现,但此测试用例失败.)
我需要设计一个函数来返回负数,但+如果数字已经没有,应该在数字的开头添加一个符号.
例:
Input Output
----------------
+1 +1
1 +1
-1 -1
Run Code Online (Sandbox Code Playgroud)
它只会获得数字输入.
function formatNum($num)
{
# something here..perhaps a regex?
}
Run Code Online (Sandbox Code Playgroud)
这个函数将被调用几次,echo/print因此越快越好.
更新:
谢谢大家的答案.我必须告诉sprintf基础解决方案真的很快.
我有一个数字(坐标)数组,我想显示那些使用JSON的数组
JSON.stringify(array);
Run Code Online (Sandbox Code Playgroud)
我的数组看起来像:
[{"x":-0.825,"y":0},
{"x":-1.5812500000000003,"y":-0.5625},
{"x":-2.2515625000000004,"y":-1.546875}]
Run Code Online (Sandbox Code Playgroud)
但我只对第一个(比如说)4个有效数字感兴趣,即
[{"x":-0.825,"y":0},
{"x":-1.5813,"y":-0.5625},
{"x":-2.2516,"y":-1.5469}]
Run Code Online (Sandbox Code Playgroud)
有没有办法轻易抛弃剩下的微不足道的数字?
我希望我的Python(2.4.3)输出数字具有某种格式.具体来说,如果数字是<= 6位有效数字的终止小数,则显示全部.但是,如果它有> 6位有效数字,则只输出6位有效数字.
"A"显示了Python如何编写浮点数."B"表示我希望他们写的方式.如何以这种方式使Python格式化我的数字?
A:
10188469102.605597
5.5657188485
3.539
22.1522612479
0
15.9638450858
0.284024
7.58096703786
24.3469152383
B:
1.01885e+10
5.56572
3.539
22.1523
0
15.9638
0.284024
7.58097
24.3469
Run Code Online (Sandbox Code Playgroud) 如何缩短我得到的浮动结果?点后面我只需要2位数.对不起,我真的不知道如何用英语更好地解释这个......
谢谢
如何将垂直轴设置为显示百分比,例如25%,50%,75%,100%?
java ×3
charts ×2
double ×2
javascript ×2
python ×2
string ×2
api ×1
c# ×1
chart.js ×1
culture ×1
cultureinfo ×1
formatting ×1
json ×1
parsing ×1
php ×1
python-2.4 ×1
regex ×1