2013-08-30 72 views
2

我想根据需要在左侧和右侧用零填充格式。格式在左侧和右侧用零填充

double myVal = 12.456; 

希望字符串是"012.456000"

我已经试过:

String.format("%03.06f", myVal); 

等的变化,但它似乎并没有对小数点左边的文本格式。

如果可能的话,我不希望引入第三方库。

回答

5

使用java.text.DecimalFormat

double myVal = 12.456; 
DecimalFormat formatter = new DecimalFormat("000.000000");  
System.out.println(formatter.format(myVal)); 
0

这是国际化(具体的语言环境)的方式:

double myVal = 12.456; 
Locale locale = Locale.getDefault(); //replace this with actual locale 
NumberFormat nf = NumberFormat.getNumberInstance(locale); 
nf.setMinimumIntegerDigits(3); 
nf.setMinimumFractionDigits(6); 
System.out.println(nf.format(myVal)); //012.456000 
0

我相信这是你在找什么使用十进制格式会给你然而,许多你想要在你正在格式化的左边或右边输入零。

import java.text.*; 
public class leftsideformat 
{ 

    public static void main(String[] args) 
    { 
    double myVal =12.456; 
    DecimalFormat leftside = new DecimalFormat("000.0000000000"); 
    System.out.println(leftside.format(myVal)); 
    } 

}