Java小数点和逗号

Java小数点和逗号,java,comma,Java,Comma,我有一个小问题,就是我的程序只在需要小数时接受点 我不想用逗号代替点,我想让它同时接受点和逗号。我需要将其应用于字符串“amount”,该字符串随后转换为double!救命啊! 问候奥利弗 publicstaticvoidmain(字符串[]args){ 双欧元、美元、gpb、丹麦克朗,完成; 扫描仪输入=新扫描仪(System.in); String temp=JOptionPane.showInputDialog(“从“+”美元、英镑、丹麦克朗或欧元转换?”); 字符串tempp=JOpti

我有一个小问题,就是我的程序只在需要小数时接受点

我不想用逗号代替点,我想让它同时接受点和逗号。我需要将其应用于字符串“amount”,该字符串随后转换为double!救命啊! 问候奥利弗

publicstaticvoidmain(字符串[]args){
双欧元、美元、gpb、丹麦克朗,完成;
扫描仪输入=新扫描仪(System.in);
String temp=JOptionPane.showInputDialog(“从“+”美元、英镑、丹麦克朗或欧元转换?”);
字符串tempp=JOptionPane.showInputDialog(“到“+”美元、英镑、丹麦克朗或欧元?”);
Map lookUpMap=newhashmap(){{
看跌期权(“欧元”,新双(7.46));
看跌期权(“美元”,新的双倍(5.56));
看跌期权(“英镑”,新的双倍(8.84));
put(“DKK”,新双精度(1.0));
}};
字符串数量=JOptionPane.showInputDialog(“数量”+(临时));
double amountt=double.parseDouble(金额);
done=(lookUpMap.get(temp.toUpperCase())/lookUpMap.get(temp.toUpperCase())*amount;
showMessageDialog(null,“它是”+完成+”+(临时),“最终数量”+(临时),JOptionPane.PLAIN_消息);
String exit=JOptionPane.showInputDialog(“您想重新运行程序吗?是或否”);
if(exit.equalsIgnoreCase(“是”)){
重新运行main(args);
}否则{
System.out.println(“”);
}
}

}这有点难看,但似乎正是你想要的:

double amountt = Double.parseDouble(amount.replaceAll(",",".");

这样,输入的所有内容(无论是带逗号的十进制数还是带点的十进制数)都将被解析。

我认为您可能希望尝试对接收到的值使用
String.replaceAll()
命令,然后将值转换为
double

double amountt = Double.parseDouble(amount.replaceAll(",","."));

如果要解析具有逗号和小数的美元值,可以使用
NumberFormat
并使用使用该数字格式的区域设置

     String value1 = "1,222.34";
     String value2 = "2,334.45";

     double d1 = 0;
     double d2 = 0;
     try {
        NumberFormat usFormat = NumberFormat.getNumberInstance(Locale.US);
        d1 = usFormat.parse(value1).doubleValue();
        d2 = usFormat.parse(value2).doubleValue();
     } catch(ParseException ex) {
         ex.printStackTrace();
     }

     System.out.println(d1 + d2);  // Output 3556.79

有关不同地区的列表,请参见。

点和小数之间的区别是什么?请更清楚地解释你需要做什么accomplish@DoubleDouble我实际上理解它是指Ijgw(或者是ljgw?)理解它的方式,其中逗号与小数点相同。@Quincunx是的,这更有意义。删除了评论,因为它现在毫无用处。顺便说一句,你不应该用浮点数或双数来表示金钱。