遇到double 数目过大,转String变成科学计数法
问题:
java中,当double数目过大,转出String时,变成了科学记数法的表示。
总结:
1.项目的存储用的是mysql,mysql的类型和java类型之间存在映射关系,以前关注不多。现在总结一下:
| 类型名称 | 显示长度 | 数据库类型 | JAVA类型 | JDBC类型索引(int) | 描述 |
| VARCHAR | L+N | VARCHAR | java.lang.String | 12 | |
| CHAR | N | CHAR | java.lang.String | 1 | |
| BLOB | L+N | BLOB | java.lang.byte[] | -4 | |
| TEXT | 65535 | VARCHAR | java.lang.String | -1 | |
| INTEGER | 4 | INTEGER UNSIGNED | java.lang.Long | 4 | |
| TINYINT | 3 | TINYINT UNSIGNED | java.lang.Integer | -6 | |
| SMALLINT | 5 | SMALLINT UNSIGNED | java.lang.Integer | 5 | |
| MEDIUMINT | 8 | MEDIUMINT UNSIGNED | java.lang.Integer | 4 | |
| BIT | 1 | BIT | java.lang.Boolean | -7 | |
| BIGINT | 20 | BIGINT UNSIGNED | java.math.BigInteger | -5 | |
| FLOAT | 4+8 | FLOAT | java.lang.Float | 7 | |
| DOUBLE | 22 | DOUBLE | java.lang.Double | 8 | |
| DECIMAL | 11 | DECIMAL | java.math.BigDecimal | 3 | |
| BOOLEAN | 1 | 同TINYINT | |||
| ID | 11 | PK (INTEGER UNSIGNED) | java.lang.Long | 4 | |
| DATE | 10 | DATE | java.sql.Date | 91 | |
| TIME | 8 | TIME | java.sql.Time | 92 | |
| DATETIME | 19 | DATETIME | java.sql.Timestamp | 93 | |
| TIMESTAMP | 19 | TIMESTAMP | java.sql.Timestamp | 93 | |
| YEAR | 4 | YEAR | java.sql.Date | 91 |
2. 对于bolb,一般用于对图片的数据库存储,原理是把图片打成二进制,然后进行的一种存储方式,在java中对应byte[]数组。
3. 对于boolen类型,在mysql数据库中,个人认为用int类型代替较好,对bit操作不是很方便,尤其是在具有web页面开发的项目中,表示0/1,对应java类型的Integer较好。
4. 这次遇到的问题,我用的解决方案就是mysql端用decimal来存储,然后java端用BigDecimal来接收,
涉及了Decimal的一些用法:
- decimal转int
BigDecimal a=new BigDecimal(12.88);
int b=a.intValue();
- int 转decimal
BigDecimal bigDecimal = new BigDecimal(int val);
遇到double 数目过大,转String变成科学计数法的更多相关文章
- 在java中,怎样把一个double数转换为字符串时,不用科学计数法表示。
解决方法1: 对Double类型的数字进行 格式化输出 ,相对来说不是很精确 import java.text.DecimalFormat; public class TestDouble_Str ...
- java中Double类数字太大时页面正常显示而不要用科学计数法
/** * 当浮点型数据位数超过10位之后,数据变成科学计数法显示.用此方法可以使其正常显示. * @param value * @return Sting */ public static Stri ...
- double转成string时,不以科学计数法表示
用gson解析json串的时候,经常会自动把我想用string表示的内容转换成double,并且还是科学计数法,这一点也不科学,写个方法,格式化一下. public static String par ...
- C#double转化成字符串 保留小数位数, 不以科学计数法的形式出现
在C#中大家都会遇到这种情况 double类型的数据,需要格式化(保留N未有效数字)或者是保留N为小数等情况,我们往往采取double.tostring("参数");的方法.下 ...
- 将258.369 double值转为内存表示(科学计数法)
前言 庖丁解牛 - <<庄子>> 庖丁为文惠君解牛,手之所触, 肩之所倚, 足之所履, 膝之所踦, 砉然向然, 奏刀騞然, 莫不中音, 合于<桑林>之舞, 乃中&l ...
- Jmeter、Java当double显示的数字过长时取消科学计数法显示
今日,由于项目需要,使用Jmeter发送查询账户并不保存余额,经过交易后,进行运算后再次比对余额. 实施过程中获取了余额字段并赋值给一个double变量.变量进行运算后再与交易后的账户余额进行比对.这 ...
- 如何使java中double类型不以科学计数法表示
在java中,把一个double或者BigDecimal的小数转换为字符串时,经常会用科学计数法表示,而我们一般不想使用科学计数法,可以通过:DecimalFormat a = new Decimal ...
- double涉及大数据的时候会变成科学计数法
double b=1.23456789128E8DecimalFormat df = new DecimalFormat("0.00");//精度自己控制保留几位小数点 Strin ...
- double数值多时系统默认科学计数法解决方法
比如 Double d = new Double("1234567890.12"); System.out.println("d:="+d); java.tex ...
随机推荐
- System.Web.Optimization找不到引用
在程序包管理控制程序中录入:Install-Package Microsoft.AspNet.Web.Optimization,安装即可.
- android 计算器的实现(转)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- P142-1
P142-1.1 登录页面 <%@ page language="java" contentType="text/html; charset=UTF-8" ...
- 2、IValueConverter应用
1.C#代码如下: public class logotoimgConverter:IValueConverter { //将logo转换为URI public object Convert(obje ...
- 浏览器Firefox新标签页默认打开地址设置
1.地址栏输入about:config 2.找到browser.newtab.url 修改它的值为你想要的地址,如:https://www.baidu.com
- 标准库源码--wsgi服务器
功能模块化带来可自由组装的便利: 使用python的mixin特性装配 class ThreadHTTPServer(ThreadingMixin, HTTPServer): pass 上面表示1个请 ...
- 在网页中编辑报表的报表设计器Stimulsoft Reports Designer.Web报表控件
Stimulsoft Reports Designer.Web报表控件是一款网页报表设计器.您想在网页中编辑您的报表吗?现在是可能的! Stimulsoft Reports Designer.Web ...
- 微软TechEd2013大会门票热卖!
微软TechEd2013大会将在北京.上海两地隆重举行! 会议时间安排如下: 北京:12月5日—6日 国家会议中心 上海:12月11日—12日 国际会议中心 现在是门票热卖时期,票价:2688.0 ...
- XCode之entitlement
entitlement是codesign的一个输入,参见:codesign. entitlement的意思是权力,也就是表明应用所具有的权利,可以访问什么,不能访问什么等.这些信息会在codesign ...
- 检测INT3 软断点
“INT3”断点指令的机器码是 “0xcch” 检测思路,取函数地址,判断第一个字节是不是 “CCh” BYTE bFirst = ; ProcAddres = GetProcAddress(Load ...