科学记数法数字转换/保留数值小数点位数(数字格式化)

有时候我们不需要以科学记数法显示一个大数字,我们需要将它完整显示出来;或者是将一个浮点数保留小数点后几位;又或者需要数值的准确精确度。这些情况下我就需要使用BigDecimal类。

/*
特殊字符说明:
  0 指定位置不存在数字则显示0
  # 指定位置不存在数字这不显示
  % 会将结果数字乘以100 后面追加%  123.123 -> #.00%  ->12312.30%
*/
DecimalFormat format = new DecimalFormat("0.0");  //格式化BigDecimal数值,保留小数点后一位
String num ="666.666";  //1233456E7
String bdNum = format.format(new BigDecimal(num));
System.out.println(bdNum);

这里使用DecimalFormat类对BigDecimal类型的值进行一个Format,我们可以通过这个Format类的构造器给出格式化的规则

原文地址:https://www.cnblogs.com/lz2017/p/10085830.html

时间: 2024-10-19 15:43:09

科学记数法数字转换/保留数值小数点位数(数字格式化)的相关文章

java正则表达式匹配所有数字,包括带小数点的数字

用于匹配的正则表达式为 :([1-9]\d*\.?\d*)|(0\.\d*[1-9]) ( [1-9] :匹配1~9的数字: \d :匹配数字,包括0~9: * :紧跟在 \d 之后,表明可以匹配零个及多个数字: \. :匹配小数点: ? :紧跟在 \. 之后,表明可以匹配零个或一个小数点: 0 :匹配一个数字0: )其中的 [1-9]\d*\.?\d* 用以匹配诸如:1.23.34.0.56.78 之类的非负的整数和浮点数: 其中的 0\.\d*[1-9] 用以匹配诸如:0.1.0.23.0.

double类型字符串转换成一个纯数字字符串和一个小数点位数的c++代码

今天工作中遇到一个要不一个double型的字符串转换成一个纯字数字符串和一个标志这个数字字符串的小数点有几位的int类型 例如:“23.123”--->“23123” + 3   比较简单.就是把代码贴这里,以后用到了,可以直接拽来用 #include "stdafx.h" #include <stdlib.h>#include <iostream>#include <string> void getInfo(const char* pNum)

cpp保留任意小数点位数

一.保留有效数字的问题 1 #include<iostream> 2 #include<iomanip> 3 #include "stdlib.h" 4 using namespace std; 5 int main(){ 6 double PI=3.1415926; 7 cout<<setprecision(3)<<PI<<endl; 8 return 0;//3.14三位有效数 9 } 二.保留有效数字 1 cout<

时间标准格式转换及数值的ToString的格式化

显示24小时:System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");   2020-01-04 18:15:48 显示12小时:System.DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");   2020-01-04 06:16:02 Int.ToString(format): 说明 示例 输出 结果 C 货币(带金钱符号) 2.5.ToString("C"

JavaScript获取人类可识别的文件大小转换显示 和 格式化数字类型,保留小数点后几位,非四舍五入

function humanReadableFilesize(size) { var units = new Array("B", "KB", "MB", "GB", "TB", "PB"); var mod = 1024.0; var i = 0; while (size >= mod) { size /= mod; i++; } //return Math.round(size

C语言 字符串和数字转换函数

atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include <stdlib.h> 定义函数 double atof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回.参数nptr字符串可包含正负号.小数点或E(e)来表示指数部分,如123.456或123e-2.

js 将数字转换成人民币大写的方法

//将数字转换成人民币大写的方法 var digitUppercase = function (n) { var fraction = ['角', '分']; var digit = [ '零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖' ]; var unit = [ ['元', '万', '亿'], ['', '拾', '佰', '仟'] ]; var IsNum = Number(n); if (!isNaN(IsNum)) { var hea

中文数字转换成阿拉伯数字(一千二百三十四万五千六百七十八--&gt;12345678)

昨天老大问我又没有写过中文数字转换成阿拉伯数字,我说没有,我说那应该简单啊,就是将中文对应的数字换成阿拉伯数字就好了啊,比如一就换成1,二就换成2…十换成10.可是那么问题来了…… 一十二呢…不能是1102吧…这不就坑爹了吗?一百万呢………所有我苦苦思索,花费了我差不多半天的时间,终于写出了下面的程序. 1 public static void main(String[] args){ 2 3 Map<Character, String> numberMap = new HashMap<

ORACLE数字转换人民币大写

ORACLE数字转换人民币大写     示例.   数字                        :            183066999230.68 人民币大写            :            壹仟捌佰参拾亿零陆仟陆佰玖拾玖万玖仟贰佰参拾圆陆角捌分   数字                        :            999900000000 人民币大写            :            玖仟玖佰玖拾玖亿圆整     Step 1.  Cre