Java可以识别带有小数的负0吗?

时间:2019-04-02 17:50:51

标签: java

现在是夏天,我正在尝试将过去的C程序转换为Java程序,并向其中添加更多内容。该程序很简单,它可以将数字转换为单词,而我添加的东西还可以将带有小数的数字转换为像1.01这样的单词,就是“一点一”。问题是,当我尝试输入-0.29时,它不起作用,但是使用正数(0.29)时,它确实可以打印零点二十九。

我尝试创建一个条件,如果一个数字小于-0.009而不是打印零点一(0.01),它将打印负零点一(-0.01),因为数学上-0.01小于-0.009。 / p>

if(((num == 0 || num <-0.009)&& x> 0){

            if (num == 0){
                    System.out.print("zero point ");
            }

            else if (num < -0.009){
                    System.out.print("negative zero point ");
            }


            if (x > 0 && x < 10){
                var = x / 1;
                System.out.println(conversions[0][var] + "\n");
            }

            else if (x > 9 && x < 20) {
                var = x % 10;
                System.out.println(conversions[1][var] + "\n");
            }

            else if (x > 19 && x < 100) {
                var = x / 10;
                System.out.print(conversions[2][var] + " ");
                var = x % 10;
                System.out.println(conversions[0][var] + "\n");
            }

    }

我希望输出为:

输入数字:-0.29

零零点二十九

但是现实是:

输入数字:-0.29 输入号码:

1 个答案:

答案 0 :(得分:1)

为什么不取数字的绝对值,对数字进行字符串计算,然后检查原始数字的符号?如果是负数,那么您可以在字符串的前面加上“负数”吗?