草庐IT

DecimalFormat

全部标签

xml - 在 XSLT 中用逗号作为小数点分隔符求和数字?

我有一个XML文件,其中数字以逗号分隔我想对XSLT中的/foo/bar/@val值求和,但我有点卡在格式上。有谁知道正确的语法是什么? 最佳答案 我猜测,“val”属性中指定的值是一个用逗号代替小数点的数字。有几种可能的解决方案:我。XSLT1.0这个转换:应用于最初提供的XML文档时:产生想要的结果:13.68二。XSLT2.0这个转换:应用于同一个XML文档时,产生相同的正确结果:13.68III.FXSL2.x这个转换:应用于同一XML文档时产生相同的正确结果:13.68最后一种解决方案更灵活,当需要在求和之前对值进行更复杂

Java 数字格式 - #.## - Windows 和 Linux

我正在使用以下代码来格式化双数DecimalFormatdecimalFormat=newDecimalFormat("#.##");decimalFormat.format(1.04)但这给出了java.lang.NumberFormatException:Forinputstring:"1,04"在Linux中-但在Windows7中这工作正常,如何纠正这个问题? 最佳答案 关于java数字格式,这里似乎回答了一个非常相似的问题(DecimalFormatandDouble.valueOf())。基本上,您遇到的差异可能与Win

java - 解析带有负后缀的数字

有人可以向我解释为什么下面的代码会给出这个输出吗?1.2null运行以下代码:Stringpositive="1.2+";Stringnegative="1.2-";DecimalFormatformat=newDecimalFormat("0.0");format.setPositiveSuffix("+");format.setNegativeSuffix("-");format.setDecimalFormatSymbols(DecimalFormatSymbols.getInstance(Locale.US));System.out.println(format.parse(p

java - 在不同语言环境中测试 Java 应用程序

我有一个在美国制造的产品。波兰的一位friend今天正在测试它,本地化的数字格式导致了一些异常。我想模拟在波兰或德国运行我的程序,这样我就可以在修复错误之前重现这些错误。原以为只要设置Locale就这么简单,但是每一次尝试似乎都没有效果。我调用了Locale.setDefault,并将-Duser.language=de_DE作为VMargs传入。但数字始终采用美国格式(即1,000.00)。但是我的friend加载了该应用程序,他看到的是1.000,0。有谁知道如何在德国或波兰语言环境中测试我的java应用程序,以便我可以默认查看此格式? 最佳答案

java - 如何用可变数量的十进制数字格式化 double

我正在执行一项任务,我在处理下面提到的负面情况时感到震惊如果值小于1,那么我想为其格式化(添加)4个小数点。例如,如果值为0.4567,那么我需要0.4567否则,如果该值大于1格式且只有2位数字。例如,如果值为444.9,那么我需要444.90上面提到的一切都工作正常,但遇到以下情况也就是说,如果值小于1并且以零结尾(0.1000,0.6000),打印0.2000是没有意义的,所以在这种情况下我希望输出仅为0.20下面是我的程序packagecom;importjava.text.DecimalFormat;publicclassTest{publicstaticvoidmain(S

java - 如何使用 Jackson 的本地化小数点分隔符反序列化浮点值

我正在用Jackson解析的输入流包含纬度和经度值,例如此处:{"name":"product23","latitude":"52,48264","longitude":"13,31822"}出于某种原因,服务器使用逗号作为产生InvalidFormatException的小数点分隔符。由于我无法更改服务器输出格式,因此我想教Jackson的ObjectMapper来处理这些情况。相关代码如下:publicstaticObjectgetProducts(finalStringinputStream){ObjectMapperobjectMapper=newObjectMapper();

c# - Java DecimalFormat 的 c# 等价物是什么?

我如何将以下代码转换为C#DecimalFormatformStringpattern="";for(inti=0;i编辑特殊的问题是我不希望小数分隔符随着区域设置而改变(例如,某些区域设置会使用“,”)。 最佳答案 对于小数点分隔符,您可以将其设置在NumberFormatInfo实例中并将其与ToString一起使用:NumberFormatInfonfi=newNumberFormatInfo();nfi.NumberDecimalSeparator=".";//**test**NumberFormatInfonfi=newN

java - 如何在int中添加空格?

假设我要打印数字100000000。乍一看很难说出这个数字代表多少百万。是1000万还是1亿?如何使Java中的大数字看起来更具可读性?例如这样的东西会很棒:100000000。你一眼就能看出这个数字是1亿。 最佳答案 你也可以试试DecimalFormat;DecimalFormatformatter=newDecimalFormat("#,###");System.out.println(formatter.format(100000));结果:1000>>1,00010000>>10,000100000>>100,000100

java - 如何根据输入长度更改 DecimalFormat 行为?

我正在使用以下DecimalFormat模式://UseThreadLocaltoensurethreadsafety.privatestaticfinalThreadLocalnumberFormat=newThreadLocal(){@OverrideprotectedNumberFormatinitialValue(){returnnewDecimalFormat("#,##0.00");}};这会执行以下转换:1->1.001.1->1.101.12->1.12我现在有一个额外的要求。1.123->1.1231.1234->1.123这意味着当小数点后两位不足,我会“补”到小数

java - 使用 NumberFormat 或 DecimalFormat

大多数情况下,我们如何证明,什么时候使用NumberFormat.getInstance();什么时候使用newDecimalForamt(...); 最佳答案 如果要指定数字的格式,则必须使用DecimalFormat构造函数。如果您想要“大多数数字在我当前语言环境中的表示方式”,请使用NumberFormat的默认实例。 关于java-使用NumberFormat或DecimalFormat,我们在StackOverflow上找到一个类似的问题: http