科学记数法 把一个绝对值小于1(或者大于等于10)的实数记为a×10n的形式(其中1≤/a/<10),这种记数法叫做科学记数法. (或者大于等于10)的实数记为a×10^n的形式(其中1≤|a|<10),这种记数法叫做科学记数法.例如19971400000000=1.99714×10^13.计算器或电脑表达10的的幂是一般是用E或e,也就是1.99714E13=19971400000000. 科学记数法记法与好处 当我们要标记或运算某个较大或较小且位数较多时,用科学记数法免去浪费很多空间和时间…
在java中,把一个double或者BigDecimal的小数转换为字符串时,经常会用科学计数法表示,而我们一般不想使用科学计数法,可以通过:DecimalFormat a = new DecimalFormat("#,##0.00000000");        System.out.println(a.format(11111111.0000001000000001));的方式来格式化输出字符串. 对于BigDecimal的小数,如果制定精度<=6, 则可以放心的使用其toS…
开发过程中有可能会遇到很小的数字,在显示过程中就转换成了科学计数法,这种不利于人的观看,于是就有必要转成字符串形式的.so. 将科学计数法的数字转换成字符串: 使用的是java.math的BigDecimal: BigDecimal bd = new BigDecimal("1.1920928955078125e-7"); String str = bd.toPlainString(); 显示结果: 0.00000011920928955078125 亲测好使..…
目录 Java 科学计数法 1 科学计数法的概念 1.1 有效数字 1.2 E记号 2 Java中的科学计数法 2.1 NumberFormat 2.2 DecimalFormat 2.3 BigDecimal 参考 作者信息 Java 科学计数法 1 科学计数法的概念 1.1 有效数字 在一个近似数中,从左边第一个不是0的数字起,到精确到的位数止,这中间的所有数字都叫做这个近似数的有效数字 例如: 890314000保留三位有效数字为8.90×10的8次方 (四舍) 839960000保留三位…
上次,提到"元转分"这个浮点数问题,boss倾向于手动把1.23元这种格式,转换成123分.    但实际上,浮点数很容易遇到精度问题.    比如,System.out.println(4.015 * 1000);结果就不会是4015.    以前,总结的元转分的问题,没能考虑到所有的场景,今天补充点上次遗漏的.    -5.09,如果金额是负数,应该是-500-9=-509,而不是-500+9=-441,这是上次的一个超级bug.    另外,需要还有一个超级bug,"1…
科学计数法使用e标识数值,将科学计算学转化为数字的思路:按e右边的数字移动小数点位数.e右边的数字如果是负数,则向左移动小数点.示例如下: 1.2345678e2 = 123.45678 1.2345678e-2 = 0.012345678 1.7615562e+06 = 1761556.2 1.87982e7 = 18798200 1e3 = 1000 那么在shell中,如何转化科学计数法为数字呢,方法如下:这里以"1.7615562e+06" (或者1.7615562e6)为示例…
保存在csv中的 013812345678,前面的0会被去掉,后面是科学计数法显示.保存成 col1,="013812345678" 即可. 注意,分隔符逗号后面直接接“=”等号.不能有空格. 参考csv文档: http://www.creativyst.com/Doc/Articles/CSV/CSV01.htm…
[转]js 中导出excel 较长数字串会变成科学计数法 在做项目中,碰到如题的问题.比如要将居民的信息导出到excel中,居民的身份证号码因为长度过长(大于10位),excel会自动的将过长的数字串转换成 科学计数法.现在网上找到解决方案之一: (在数字串前后加 " " 或' ' 或 tab等空白内容都是行不通的,excel会自动去掉这些.除非你在数字串中间加,当然这样就不是我们要的结果了) 解决方案之一:<td style="mso-number-format:'\…
作者:iamlaosong 把一文本文档拷贝到EXCEL中时,当中一列数字所有变成科学计数法,这些数事实上是条码号,不需进行运算,怎样能够取消科学计算法,将数字显示成原来的样子呢?一般方法例如以下: 1.你先将单元格格式设置成文本格式 2.转成文本后,你将那单元格双击一下 3.或者在数字前面加个单引號:'(注意是英文输入法下的) 只是对于数据量比較大的场合,这样一个一个的处理显然效率太低,採用分列的方法能够非常快的处理全部单元格. 1.选中须要处理的单元格或列,点击分列button或菜单: 2.…
需要引用:using System.Data.OleDb; /// <summary> /// 获取Excel数据,包含所有sheet /// </summary> /// <param name="fullPath"></param> /// <returns></returns> public DataSet GetExcelTables(string fullPath) { DataSet ds = new…
需要注意的是一般的科学表达式是1.8E12 1.8E-12 而在Excel中的科学表达式是1.8E+12 1.8E-12 我写的科学计数法的正则表达式是(-?\d+\.?\d*)[Ee]{1}[\+-]?[0-9]* 导入EXCEL数据时将科学计数法解析成数字,Java代码: import java.text.DecimalFormat; import java.util.regex.Pattern; public class Test { static Pattern pattern = Pa…
直接上代码: from numpy import *import numpy as npDrug_array = zeros((708,708),dtype = int)f = open('D:\mat_drug_drug.txt')lines = f.readlines()Drug_row = 0for line in lines: list = line.strip('\n').split(' ') Drug_array[Drug_row:] = list[:] Drug_row += 1p…
在做项目中,碰到如题的问题.比如要将居民的信息导出到excel中,居民的身份证号码因为长度过长(大于10位),excel会自动的将过长的数字串转换成 科学计数法.现在网上找到解决方案之一: (在数字串前后加 " " 或' ' 或 tab等空白内容都是行不通的,excel会自动去掉这些.除非你在数字串中间加,当然这样就不是我们要的结果了) 解决方案之一:<td style="mso-number-format:'\@';">1008211999090912…
在做项目中,遇到导出excel表格时,银行账户号数字过长,导出的数字串变为计数法形式,如下图: 网上搜到解决方法,粘贴到这以供学习.不断更新. 原博地址:http://www.cnblogs.com/jwh-452951171/p/5817753.html 比如要将居民的信息导出到excel中,居民的身份证号码因为长度过长(大于10位),excel会自动的将过长的数字串转换成 科学计数法.现在网上找到解决方案之一: (在数字串前后加 " " 或' ' 或 tab等空白内容都是行不通的,…
重载JSONComparator比对JSON Response,忽略小数点后几位,将科学计数法转换为普通数字进行比对,在错误信息中打印当前循环的case number及其他附加信息 package direct import org.skyscreamer.jsonassert.* import org.skyscreamer.jsonassert.comparator.* import org.json.* import net.sf.json.JSONException import jav…
当使用POI处理excel的时候,遇到了比较长的数字,虽然excel里面设置该单元格是文本类型的,但是POI的cell的类型就会变成数字类型. 而且无论数字是否小数,使用cell.getNumbericCellValue() 去获取值的时候,会得到一个double,而且当长度大一点的时候会变成科学计数法形式. 那么获取这个单元格的原始的数据,就其实是一个double怎么转换成整数的问题了. 使用DecimalFormat对这个double进行了格式话,随后使用format方法获得的String就…
Python将科学计数法数值转换为指定精度浮点数 In [20]:money = 1190000.0 In [21]: traded_maket_value = 13824000000 In [22]: money / traded_maket_value Out[22]: 8.608217592592592e-05 In [23]: '{:.10f}'.format( money / traded_maket_value) Out[23]: '0.0000860822'…
在做项目中,碰到如题的问题.比如要将居民的信息导出到excel中,居民的身份证号码因为长度过长(大于10位),excel会自动的将过长的数字串转换成 科学计数法.现在网上找到解决方案之一: (在数字串前后加 " " 或' ' 或 tab等空白内容都是行不通的,excel会自动去掉这些.除非你在数字串中间加,当然这样就不是我们要的结果了) 解决方案之一:<td style="mso-number-format:'\@';">1008211999090912…
EXCEL虽然能够有效的处理数据,尤其是数字的计算.但是,在单元格中输入数字的时候,很多时候都会受到科学计算法的困扰. 当单元格中输入的数字,超过11位时,就会自动变成科学计数法.无论您怎么调整列的宽度,显示的始终是科学计数法.这样的显示方式,对于观察数据而言,是极其不方便. 那么,我们如何才能做到,即要输入多位数的数字,又有让数字完全显示出来,而不需要科学计数法. 方法有三种,请看下文. 方法/步骤     ①TRIM函数辅助法 先看下表,A列的单元格保存的数字,都已经变成科学计数法了.现在,…
MSSQL中 float转换为varchar 变成科学计数法解决方案   在系统初始化的时候,因为有同事,没有在数值型的数据前面加上 单引号,导致进入数据库后都变成float型我们需要做以下转换就能将数据变为 varchar类型 declare @a float //定义一个float变量set @a =13824658956 //赋值float变量select @a as a //显示变量select convert(varchar(25),@a) as a //按字符串显示select co…
抓取数据的时候碰到科学技术法,查了一些资料,直接贴代码 /// <summary> /// 数字科学计数法处理 /// </summary> /// <param name="strData"></param> /// <returns></returns> private Decimal ChangeToDecimal(string strData) { Decimal dData = 0.0M; if (str…
今天发现数据库里汇总的数据有点大,一输出就被自动转化成科学计数法了.后来发现是转换字符串的方法有问题.如下: String a = "11234567.89"; BigDecimal db = new BigDecimal(a); System.out.println("科学计数:" + db.toString()); System.out.println("普通计数:" + db.toPlainString()); 输出: 科学计数:1.123…
PL/SQL查询时,如果Number(17)以上的大数,会显示为科学计数法 解决方法: TOOLS->PREFERENCES->WINDOW TYPE->SQL WINDOW下选中Number fields to_char即可.…
遇到这个问题,首先上线的数据能清除吗?显然是不能的. 1.首先要去找这些科学计数法的数字是哪里来的. 2.怎么在不改变数据的情况下去操作这张表.可以使用convert()转一下Decimal.…
/** * 当浮点型数据位数超过10位之后,数据变成科学计数法显示.用此方法可以使其正常显示. * @param value * @return Sting */ public static String formatFloatNumber(double value) { if(value != 0.00){ java.text.DecimalFormat df = new java.text.DecimalFormat("########.00"); return df.format…
如果想去除科学计数法显示可以用如下方法处理: /** * 把科学计数法显示出全部数字 * @param d */ public static String object2Str(Object d) { if (d == null) { return ""; } NumberFormat nf = NumberFormat.getInstance(); System.out.println(nf.format(d)); } --------------------- 原文:https:/…
在从excel往sql server导入数据,电话.编号等数字呈现float类型,然后向b表中insert后(phone为nvarchar)出现科学计数法,解决方法:需将float等数据类型转为标准的decimal类型后转nvarchar即可.一直觉得float和double类型在sql server和其他语言等日常编程中没有用途,而且容易造成麻烦(计算时出现近似值)等,建议使用decimal(18,2). convert(nvarchar(50),convert(decimal,phone))…
1. 踩坑经历 上周,一个用户反馈他创建的某个销售单无法打开,但其余销售单都可以正常打开,当时查看了生产环境的ERROR日志,发现抛了这样的异常:java.lang.NumberFormatException: For input string: "E". 相信大家对这个异常都不陌生,很显然,是因为将字符串转换为数字时抛出的,比如下面这样: 但仔细查看了用户报错的单据,也没有发现哪里有输入"E"这样的字符串(请原谅我第一时间没有想到是科学计数法造成的,哈哈),最后把…
科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式[+-][1-9]"."[0-9]+E[+-][0-9]+,即数字的整数部分只有1位,小数部分至少有1位,该数字及其指数部分的正负号即使对正数也必定明确给出. 现以科学计数法的格式给出实数A,请编写程序按普通数字表示法输出A,并保证所有有效位都被保留. 输入格式: 每个输入包含1个测试用例,即一个以科学计数法表示的实数A.该数字的存储长度不超过9999字节,且其指数的绝对值不超过9999. 输出格式: 对每个测…
PHP 数字超过一定长度时,会自动转换为 科学计数法 的形式,如 1.2345678912346E+16: 如何 避免转换,让它原样展示呢? 不过,可以用PHP函数 number_format() 来格式化数字,参考代码如下: $str = number_format(123456789123456789123456, 0, '', ''); print_r($str); 原样输出: 延伸阅读: PHP保留2位小数 格式化小数.浮点数…