我写了一个小程序来计算税收,但我有一个问题。这个问题将我放入的数字乘以0.9975,但我只能放入一个带",“的双精度数字,而不是带".”的双精度数字。
import java.util.Scanner;
public class Bitrex {
public static void main(String[] args) {
Scanner Bitcoin = new Scanner (System.in);
double num1;
double num2=0.9975;
double answer;
System.out.println("Enter Expected Price: ");
num1 = Bitcoin.nextDouble();
answer = num1 * num2;
System.out.println(answer);
} // end of main
}发布于 2017-12-08 23:01:06
您可能在德国,Scanner使用默认的Locale,也就是说,,用作解析的小数点分隔符。请参阅Javadoc of Scanner。
您应该设置要使用的Locale,如下所示
...
Scanner Bitcoin = new Scanner (System.in);
Bitcoin.useLocale(Locale.US); // or Locale.ROOT or new Locale("pt", "BR")
...(别忘了import java.util.Locale;)
最后,最好使用Locale.setDefault(Locale.ROOT);为整个应用程序设置默认区域设置
https://stackoverflow.com/questions/47716749
复制相似问题