知识大全 格式化输出数字

Posted 数字

篇首语:提兵百万西湖上,立马吴山第一峰!本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 格式化输出数字相关的知识,希望对你有一定的参考价值。

  格式化输出数字  有时我们需要控制输出的数字的格式 如何使用java的类库做到这个呢?    也许你不关心格式 但是你需要关心你的程序可以在全世界通用 像下面的这样一个简单的语句是依赖地区的      System out println( );    在美国 是小数点 但在其它地方就不一定了 如何处理这个呢?    java text 包中的一些包可以处理这类问题 下面的简单范例使用那些类解决上面提出的问题      import java text Numberformat;     import java util Locale;     public class Decimalformat      public static void main(String args[])      // 得到本地的缺省格式     Numberformat nf = Numberformat getInstance();     System out println(nf format( ));     // 得到德国的格式     Numberformat nf =     Numberformat getInstance(Locale GERMAN);     System out println(nf format( ));              如果你在美国 运行程序后输出               换句话说 在不同的地方使用不同的习惯表示数字     Numberformat getInstance()方法返回Numberformat的一个实例(实际上是Numberformat具体的一个子类 例如Decimalformat) 这适合根据本地设置格式化一个数字 你也可以使用非缺省的地区设置 例如德国 然后格式化方法根据特定的地区规则格式化数字 这个程序也可以使用一个简单的形式      Numberformat getInstance() format( )    但是保存一个格式然后重用更加有效 国际化是格式化数字时的一个大问题     另一个是对格式的有效控制 例如指定小数部分的位数 下面是解决这个问题的一个简单例子      import java text Decimalformat;     import java util Locale;     public class Decimalformat      public static void main(String args[])      // 得到本地的缺省格式     Decimalformat df = new Decimalformat( #### );     System out println(df format( ));     // 得到德国的格式     Locale setDefault(Locale GERMAN);     Decimalformat df = new Decimalformat( #### );     System out println(df format( ));              在这个例子中设置了数字的格式 使用像 #### 的符号 这个模式意味着在小数点前有四个数字 如果不够就空着 小数点后有三位数字 不足用 补齐 程序的输出               相似的 也可以控制指数形式的格式 例如      import java text Decimalformat;     public class Decimalformat      public static void main(String args[])      Decimalformat df = new Decimalformat( E );     System out println(df format( ));              输出      E     对于百分数      import java text Numberformat;     public class Decimalformat      public static void main(String args[])      Numberformat nf = Numberformat getPercentInstance();     System out println(nf format( ));              输出      %    至此 你已经看到了格式化数字的几个不同的技术 另一方面 如何读取并解析包含格式化的数字的字符串?解析支持包含在Numberformat中 例如      import java util Locale;     import java text Numberformat;     import java text ParseException;     public class Decimalformat      public static void main(String args[])      // 本地格式     Numberformat nf = Numberformat getInstance();     Object obj = null;     // 基于格式的解析     try      obj = nf parse( );          catch (ParseException e )      System err println(e );          System out println(obj );     // 德国格式     Numberformat nf =     Numberformat getInstance(Locale GERMAN);     Object obj = null;     // 基于格式的解析     try      obj = nf parse( );          catch (ParseException e )      System err println(e );          System out println(obj );              这个例子分两部分 都是解析一个字符串 第一部分使用本地格式解析 第二部分使用德国格式解析 当程序在美国运行 结果是               换句话说 在美国被认为是一个巨大的整数 而在德国被认为是一个小数     还有格式化讨论的最后一个问题 在上面的例子中 Decimalformat 和 Numberformat 都被使用了 Decimalformat 常用于获得很好的格式控制 而Numberformat 常用于指定不同于本地的地区 如何结合两个类呢?    答案围绕着这样的事实 Decimalformat是Numberformat的一个子类 其实例被指定为特定的地区 因此 你可以使用Numberformat getInstance 指定一个地区 然后将结构强制转换为一个Decimalformat对象 文档中提到这个技术可以在大多情况下适用 但是你需要用try/catch 块包围强制转换以防转换不能正常工作 (大概在非常不明显得情况下使用一个奇异的地区) 下面是一个这样的例子      import java text Decimalformat;     import java text Numberformat;     import java util Locale;     public class Decimalformat      public static void main(String args[])      Decimalformat df = null;     // 得到一个Numberformat 对象并     // 强制转换为一个 Decimalformat 对象     try      df = (Decimalformat)     Numberformat getInstance(Locale GERMAN);          catch (ClassCastException e)      System err println(e);          // 设置格式模式     df applyPattern( #### );     // format a number     System out println(df format( ));                getInstance() 方法获得格式 然后调用applyPattern()方法设置格式模式 输出          如果你不关心国际化 可以直接使用Decimalformat    cha138/Article/program/Java/JSP/201311/19635

相关参考

知识大全 struts2 中的日期格式化输出

  struts中的默认的日期输出并不符合我们的中文日常习惯以下是我知道的在struts中进行日期格式化输出的几种方式  利用<s:date>进行格式化如  <s:dateforma

知识大全 C# String.Format格式化输出

C#String.Format格式化输出  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  开发中经

知识大全 ASP.NET 中字符的格式化输出

ASP.NET中字符的格式化输出  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!可以使用Format

知识大全 jsp中freemarker 数字格式化

  一使用内建函数c  特点  不管其表现形式是怎样的(  例如"""""""""")  只要小数分割符是它就能转化成计算机能够识别的字符串形式而且都是计算机处理的时候是没有那些所谓的千位分隔符的(空

知识大全 数字电视怎么用分量输出

数字电视怎么用分量输出这些机顶盒没有分量功能的,这些口只是设定,我试了,分量不全,偏色没法看。看看说经书吧,只说了有这个口,但是没有说线的接法。创维数字电视盒HC3200有带视讯分量输出版的吗?可以换

知识大全 C#时间函数的用法时间格式输出

C#时间函数的用法时间格式输出  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  今天恰好周末有时间

下列数字图像的文件格式中,能够在网页上发布并可以具有动画效果的是

下列数字图像的文件格式中,能够在网页上发布并可以具有动画效果的是_____。A、BMPB、GIFC、JPEGD、TIFF答案:B解析:GIF文件格式的数字图像具有动画效果。

知识大全 printscreen读取位图转为jpeg格式输出

  packagescreensaver;    importjavaawt*;  importjavaawtimageBufferedImage;  importjavaio*;  importja

知识大全 sqlplus中改变日期的输出格式

  工作中碰到用spool导出数据其中有日期格式的字段因为format了各列就不想用to_char把日期再format了而且用to_char的话还要把要所有的列都写在select语句中    工作中碰

知识大全 Jsp结合XML+XSLT将输出转换为Html格式

Jsp结合XML+XSLT将输出转换为Html格式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!