String toEngineeringString()

优质
小牛编辑
125浏览
2023-12-01

描述 (Description)

如果需要指数,则java.math.BigDecimal.toEngineeringString()返回此BigDecimal的字符串表示形式,使用工程符号。

返回一个表示BigDecimal的字符串,如toString()方法中所述,但如果使用指数表示法,则将10的幂调整为三的倍数(工程符号),使非零值的整数部分为在1到999的范围内。

如果指数表示法用于零值,则使用小数点和一个或两个小数零位数,以便保留零值的比例。

与toString()的输出不同,如果输出字符串使用字符串构造函数转换回BigDecimal,则此方法的输出无法保证恢复此BigDecimal的相同[integer,scale]对。

此方法的结果满足较弱的约束,即通过将字符串构造函数应用于方法的输出,始终产生数值相等的结果。

声明 (Declaration)

以下是java.math.BigDecimal.toEngineeringString()方法的声明。

public String toEngineeringString()

参数 (Parameters)

NA

返回值 (Return Value)

如果需要指数,此方法使用工程符号返回此BigDecimal的字符串表示形式。

异常 (Exception)

NA

例子 (Example)

以下示例显示了math.BigDecimal.toEngineeringString()方法的用法。

package cn.xnip;
import java.math.*;
public class BigDecimalDemo {
   public static void main(String[] args) {
      // create a BigDecimal object
      BigDecimal bg;
      // create a String object
      String s;
      bg = new BigDecimal("1E+4");
      // assign the engineering string value of bg to s
      s = bg.toEngineeringString();
      String str = "Engineering string value of " + bg + " is " + s;
      // print s value
      System.out.println( str );
   }
}

让我们编译并运行上面的程序,这将产生以下结果 -

Engineering string value of 1E+4 is 10E+3