Tag: 数字格式

使JFormattedTextField的行为类似于ATM输入

我想知道是否有一个JformattedTextField或jtextField表现得像一个atm money输入。 我的意思是你从右到左进入,比如说你输入10你需要再按2个0,这样它就是10.00。 程序从右到左自动输入小数点? 如果未输入2 0,则仅为.10。 这可能吗? 如果我想使用该字符串进行计算,那将如何返回给我? 我尝试了抽象格式化程序,但这样做不太好。 我想用它来输入客户收到的金额。 但要做到白痴certificate。

java.lang.NumberFormatException:对于输入字符串:“”

运行此代码时: JTextField ansTxt; … ansTxt = new JTextField(5); String aString = ansTxt.getText(); int aInt = Integer.parseInt(aString); 为什么我会收到此错误? 线程“AWT-EventQueue-0”中的exceptionjava.lang.NumberFormatException:对于输入字符串:“” 更新: JTextField ansTxt; ansTxt = new JTextField(5); ansTxt.addKeyListener(new KeyAdapter() { public void keyReleased(KeyEvent e) { ansTxt = (JTextField) e.getSource(); String aString = ansTxt.getText().trim(); int aInt = Integer.parseInt(aString); } }

在Java中将字符串转换为带有2个小数位的十进制数

在Java中,我试图将一串格式”###.##”解析为浮点数。 该字符串应始终具有2个小数位。 即使String的值为123.00 ,浮点数也应该是123.00 ,而不是123.0 。 这是我到目前为止: System.out.println(“string liters of petrol putting in preferences is ” + stringLitersOfPetrol); Float litersOfPetrol = Float.parseFloat(stringLitersOfPetrol); DecimalFormat df = new DecimalFormat(“0.00”); df.setMaximumFractionDigits(2); litersOfPetrol = Float.parseFloat(df.format(litersOfPetrol)); System.out.println(“liters of petrol before putting in editor: ” + litersOfPetrol); 它打印: string liters of petrol putting in preferences is 010.00 liters of petrol before […]

任意货币字符串 – 将所有零件分开?

我有100,00€或$100.00或100.00USD (任意长度,地球上任何有效货币符号和ISO代码)等货币的任意字符串……(=类似100.000.000,00 EUR )。 无法保证货币是正确的,可能是无效的符号或字符,也可能是错误的位置(在数字之前或之前)…… 最简单的方法是什么: 整数部分 小数部分 货币(如果有效) 我知道NumberFormat/CurrencyFormat但是这个类只有在事先知道确切的语言环境并且似乎只能正确设置格式化字符串时才有用… asw只返回数字,而不是货币…… 非常感谢你! 马库斯

是否有处理有效数字的Java数字格式库?

内置的DecimalFormat仅允许您指定小数点右侧的位数。 由于将数字表示为double的限制,数字格式化需要在其中包含一定程度的舍入。 在一般情况下,舍入必须是一些有效数字(默认情况下是一个双精度),否则你的格式化双将最终显示像3.5999999而不是3.6的东西。 我能找到的最接近的解决方案是使用 new BigDecimal(double, new MathContext(14, RoundingMode.HALF_EVEN).stripTrailingZeros().toPlainString() 但是,这只提供单一格式。 如果我需要对它进行一般格式化(组分隔符,小数分隔符,数字限制,填充等),JDK库中没有任何内容。 是否有一个通用数字格式库,可以正确处理有效数字的舍入? 有人问了一些例子。 所以,假设我想格式化为4位有效数字,然后: 0.000003599999 -> 0.0000036 4.12345 -> 4.123 1234.345 -> 1234 我们采取的一般方法是舍入到14位数,因为根据具体情况,双倍只能表示大约15-17位有效数字(或者我已经读过)。

NumberFormat文本字段,不带逗号

我有一个JFormattedTextField ,我想接受5位数的数字。 以下代码正常工作: myNumberBox = new JFormattedTextField(NumberFormat.getIntegerInstance()); 但是,当我在字段中键入“12345”并切换焦点时,由于我的语言环境而插入逗号,使文本“12,345”。 如何防止将逗号添加到我的输入中? 更好的是,即使用户插入逗号,它们也可以被删除吗?

Java7 Double.toString()返回0.005 / java6,它是0.0050

我正在从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)); } } JRE6 5.0E-4 0.0050 0.05 0.5 JRE7 我正在寻找与上述变化相关的任何文档。 兼容性页面不包含它。 5.0E-4 0.005 //changed. 0.05 0.5 输出保存在许多参考文件中,并通过字符串比较进行比较 – 我需要修复比较,但很想知道有关此更改的更多详细信息。 关于为什么这种改变会获得赏金的权威答案。

在Java中打印带有2个小数位的整数

在我的代码中,我使用整数乘以100作为小数(0.1是10等)。 你能帮我格式化输出以显示为十进制吗?

如何在java中将字符串拆分为字符串和整数

我有String a=”abcd1234″ ,我想把它分成String b=”abcd”和Int c=1234这个分割代码应该适用于所有输入王,如ab123456和acff432等。 如何拆分这种字符串。 可能吗?

使用Struts2标签格式化数字

我想在jsp页面中格式化一些数字。 首先,我在我的porperties中定义了一些资源 format.number.with2Decimal={0,number,#0.00} …… 问题1: 我想知道’#’和’0’是什么意思? 0.00,#0.00,##。00,### 0.00 谁能告诉我他们之间的区别? 谢谢! 问题2: 如果我在我的动作BigDecimal number1中定义一个BigDecimal类型; 然后我的页面应该使用一种格式来显示这个值, 1.if number1=null then show -NIL- 2.if number1=0 then show -NIL- 3.if number1>0 then show 1.00,3434.98 ….. 请忽略数字<0 问题3: 将number1更改为String, 1.if number1=null or empty or blank then show -NIL- 2.if number1=Hello then show Hello …. 你能帮我个忙吗?