一、针对java程序中,把Double类型的数据完全显示、不再以科学技术法显示。
此问题用到对象: DecimalFormat
DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字。该类设计有各种功能,使其能够分析和格式化任意语言环境中的数,包括对西方语言、阿拉伯语和印度语数字的支持。它还支持不同类型的数,包括整数 (123)、定点数 (123.4)、科学记数法表示的数 (1.23E4)、百分数 (12%) 和金额 ($123)。所有这些内容都可以本地化.
符号 | 位置 | 本地化? | 含义 |
0 | 数字 | 是 | 阿拉伯数字 |
# | 数字字 | 是 | 阿拉伯数字,如果不存在则显示为 0 |
. | 数字 | 是 | 小数分隔符或货币小数分隔符 |
详细参考JAVA API
import java.text.DecimalFormat;
public class DecimalFimport java.text.DecimalFormat;
public class DecimalFormatTest {
public static void main(String[] str){
DecimalFormat decimalFormat=new DecimalFormat("0");
Double d =new Double("2.33333E10");
System.out.print(decimalFormat.format(d));
}}
返回值为:String类型。
此方法针对:把以科学技术法显示的Double类型的数据转换成String类型。
二:针对页面显示科学计数法问题
如果返回页面对象就是一个double类型,那么要解决此问题需:
不要在页面以<s:property value={obj.property} />的形式显示。
要 var property=<s:property value={obj.property} />;
然后将property的值 setvalue 到控件上。