当前位置: 首页 > 知识库问答 >
问题:

当我用逗号或点分隔小数时,扫描会加倍[重复]

邓建柏
2023-03-14

我对Java相当陌生,我在做一个简单的计算器。问题是当我输入的数字是例如“3.1”时,它会给出一个异常错误,但是当写“3,1”时,它就很好了。

然而,我的朋友有一个稍微高级一点的计算器(带字符串解析),当我运行他的代码时,情况正好相反: 3,1给出异常错误,3.1完美运行。

我很想知道是什么导致了这些不同的行为。

我刚刚做了一个简单的求和,同样的情况,我会在几分钟内编辑并输入他的计算器代码

import java.util.Scanner;

public class Tutorial_7 {
    public static void main(String args[]){
        Scanner scan = new Scanner(System.in);
        double num1, num2;

        System.out.println("Introduza os dois números");

        System.out.println("1º: ");
        num1 = scan.nextDouble();
        System.out.println("2º: ");
        num2 = scan.nextDouble();

        System.out.println((num1 + num2));
        scan.close();
    }

}

最终编辑:他确实使用了Double。parseDouble()。明白了,区别确实在于它的本地化位置。本应该寻找它,但从未听说过这个概念。

谢谢你

共有1个答案

有耀
2023-03-14

因为你使用的是differenceLocal,所以你可以用点扫描它和另一个带有逗号的要修复它,您应该像这样为扫描仪修复一个:

Scanner scan = new Scanner(System.in).useLocale(Locale.US);

例如:

  • 如果您使用的是Local。我们你应该用扫描你的双人床 6.6

 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : MySQL:将逗号分隔的列表分成多行 (4个答案) 6年前关闭。 我有一列带有可变数量的逗号分隔值: 我希望结果采用每个值,并创建一行: 如何在SQL(MySQL)中执行此操作? (我曾尝试使用谷歌搜索“内爆”和“侧面视图”,但是这些似乎并没有出现相关问题。所有相关的SO问题都在尝试做更复杂的事情) 问题答案: 您可以使用纯SQL来做到这一点 注意: 诀

  • 我试图验证数字1-8的逗号分隔列表。

  • 作为前言,我意识到还有其他关于逗号分隔数字的正则表达式的主题,但当我试图使用这些解决方案时,它们都不起作用。

  • 问题内容: 我正在编写导出功能,我需要将联系人导出到Excel,并且遇到了技术难题-也许我的SQL技能的差距更接近事实了。;) 这是场景:我在数据库中有一堆联系人。每个联系人可以具有许多不同的角色,例如,一个联系人可以是C#开发人员和DBA,也可以是DBA和IT经理。它们分为三个表,如下所示: 不太难遵循。有一组联系人和一组角色。这些由相应ID上的ContactRole表连接。 导出联系人时,我需

  • 问题内容: 我正在使用导入以下的CSV文件: CSV文件示例: 问题是,当我稍后在代码中尝试使用这些值时,出现此错误: 错误是因为我要使用的数字不是用点()作为小数点分隔符而是用逗号()书写。手动将逗号更改为点后,我的程序可以工作。 我无法更改输入格式,因此必须替换DataFrame中的逗号才能使代码正常工作,我希望python无需手动执行此操作。你有什么建议吗? 问题答案: 为此有一个参数:do

  • 我如何修改我的regex来为那些以“”或“,”开头,以“”或“,”结尾的字符串返回false