Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的格式化和转换_Java_Formatting_Casting - Fatal编程技术网

java中的格式化和转换

java中的格式化和转换,java,formatting,casting,Java,Formatting,Casting,我有几个基本的小问题: 如何格式化: int i = 456; 要给出输出: ""00000456" ??我尝试了%08d,但它不起作用。接下来是转换和格式化的问题。我有三角形的边和高度,假设int是4,7,7是高度。根据场的公式,我们知道F=1/2(a*h)。那么,如何将F作为浮点,精度高达10位 float f = a*h; 工作正常,但将其乘以0.5将产生错误,再乘以1/2将返回0 如何格式化: int i = 456; int i=456;要给出输出: ""00000456"

我有几个基本的小问题:

如何格式化:

int i = 456;
要给出输出:

""00000456"
??我尝试了%08d,但它不起作用。接下来是转换和格式化的问题。我有三角形的边和高度,假设int是4,7,7是高度。根据场的公式,我们知道F=1/2(a*h)。那么,如何将F作为浮点,精度高达10位

float f = a*h;
工作正常,但将其乘以0.5将产生错误,再乘以1/2将返回0

如何格式化:

int i = 456;
int i=456;要给出输出:

""00000456"
“00000456”


System.out.printf(“%08d”,i)可以执行此操作。

使用NumberFormat类查看或解释,类或String.format

1/2是一个整数表达式,它不会自动转换为浮点


1/2应该是以下其中之一:1.0f/2.0f,1.0f/2,1/2.0f,(浮点)1/(浮点)2,(浮点)1/2,1/(浮点)2,浮点变量/浮点变量,浮点变量/整型变量,整型变量/浮点变量。。。你得到的想法是应该是
%.08d
而不是
%08d
,然后试着用
0.5f
来代替。

答案是使用String.format

    String fs = String.format("%08d", this.id);
    return fs;

你真的应该在两篇文章中问两个问题,而不是把它们结合起来。。。