【问题标题】:How to make sure String input doesn't lose any chars when parsing to an Integer [duplicate]如何确保字符串输入在解析为整数时不会丢失任何字符[重复]
【发布时间】:2018-09-04 01:04:03
【问题描述】:

我正在制作一个程序,它可以告诉过去或未来任何日期的星期几。为了将 4 位数年份拆分为世纪的前 2 个数字和年份的后 2 个数字,以使公式正常工作,我使用了以下 2 行代码: 整数 y = yANDc / 100; 整数 c = yANDc % 100;

问题是当我显示最终输出时。如果他们在“xx00”和“xx09”之间输入一个 4 位数的年份,它会删除任何前面的“0”。因此,如果他们输入“2009”,最终输出将写为“209”。

关于如何解决此问题并将其格式化为不会在“0”之前删除的任何想法?

【问题讨论】:

标签: java string type-conversion string-formatting


【解决方案1】:

您需要格式化显示的数字。

类似:

int year = 9;
int century = 20;

DecimalFormat df = new DecimalFormat("00");
System.out.println( df.format(century) );
System.out.println( df.format(year) );
System.out.println( df.format(century) + df.format(year) );

或者你可以使用String.format(...) 方法:

System.out.println( String.format("%02d%02d", century, year) );

【讨论】:

    猜你喜欢
    • 2016-09-20
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-23
    • 2012-12-30
    • 1970-01-01
    • 2017-04-02
    相关资源
    最近更新 更多