JAVA温度补0问题?

Python019

JAVA温度补0问题?,第1张

你这个需求比较特殊,像1.2 ->01.2,01.2已经不是正常的数字了(正常数字整数部分左侧不能有零),拿只能当字符串来处理了。代码如下:

public class Test {

public static void main(String[] args) {

handle("1.2")

handle("-1.23")

handle("-12.1")

handle("-1.2")

handle("11")

}

private static void handle(String temperature) {

String[] temp = temperature.split("\\.")

if (temp.length == 1) {//无小数点

//整数直接在前面补零

temp[0] = String.format("%03d", Integer.valueOf(temp[0]))

System.out.println(temperature + " ->" + temp[0])

} else if (temp.length == 2) {//有小数点

if (temp[0].startsWith("-")) {//是负数

temp[0] = temp[0].substring(1, temp[0].length())//先去掉负号

if (temp[0].length() + temp[1].length() <3) {//当整数部分长度和小数部分长度相加不足三位时,如1.2,则整数部分补(3-小数部分位数)个零

temp[0] = String.format("%0" + (3 - temp[1].length()) + "d", Integer.valueOf(temp[0]))

}

System.out.println(temperature + " ->" + "-" + temp[0] + "." + temp[1])

} else {//是正数

if (temp[0].length() + temp[1].length() <3) {//当整数部分长度和小数部分长度相加不足三位时,如1.2,则整数部分补(3-小数部分位数)个零

temp[0] = String.format("%0" + (3 - temp[1].length()) + "d", Integer.valueOf(temp[0]))

}

System.out.println(temperature + " ->" + temp[0] + "." + temp[1])

}

}

}

}

运行结果:

具体操作如下:

String str1="1"

DecimalFormat df=new DecimalFormat("0000")

String str2=df.format(Integer.parseInt(str1))

System.out.println(str2)

JAVA

介绍:

Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

简介:

1、它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。

2、Java的主要工作是通过编程语言来制作互联网页面、制作动态效果以及网站等技术,现在网上关于这方面的教程有很多,但很多都是过时的,因为互联网是在不断的变化的,互联网上的牛人,要想成为Java大神,走进这条Java大神之群,首先Java教程的开头是二三一,Java的最中间是三一四,Java的最后面再加上零二八,把前面的综合起来,Java大神期待你的加入。这里有很多互联网大牛教你学习,还有免费的课程。不是想学习的就不要加了。

不行,你只能转成字符串,然后在前面补零,可以直接使用String.format(),包括向左补零、向右补零、向左补空格、向右补空格、保留多少位小数这些都可以用这个方法,你查一下资料。