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.format1/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;
你真的应该在两篇文章中问两个问题,而不是把它们结合起来。。。