小数用double或者number不带精度作为存储,
示例如下,
1、创建测试表,create table test_num(id number, fee number(10,3));
2、插入测试数据,
insert into test_num values(1,08);
insert into test_num values(2,3292);
insert into test_num values(444,15);
insert into test_num values(6,3);
commit;
3、查询表中记录,select from test_num,可以看到小数已经存入,
4、如果小数转整数,可以用trunc(直接去掉小数)或round(四舍五入)函数,
select t, trunc(fee) fee1, round(fee) fee2 from test_num t;
1、直接型,通过ToString()函数直接格式化。
例如把money = 1234567 格式成 money = 12,34567。代码如下:
string _money = moenyToString("N")或者string _moeny = moneyToString("#,###00")
2、本地化型,通过CultureInfo类,根据指定的文化进行格式化,同样的,代码如下:
double money = 1234567;
CultrueInfo ci = new CultrueInfo("zh-CH");
string _money = moneyToString("c",ci)。
扩展资料:
1、toString() 方法用于返回以一个字符串表示的 Number 对象值。如果方法使用了原生的数据类型作为参数,返回原生数据类型的 String 对象值。如果方法有两个参数, 返回用第二个参数指定基数表示的第一个参数的字符串表示形式。
2、CultureInfo类保存区域性特定的信息,如关联的语言、子语言、国家/地区、日历和区域性约定。此类还提供对 DateTimeFormatInfo、NumberFormatInfo、CompareInfo和 TextInfo的区域性特定实例的访问。
这些对象包含区域性特定 *** 作(如大小写、格式化日期和数字以及比较字符串)所需的信息。
参考资料来源:百度百科-CultureInfo
可以使用字符串varchar,然后取出数据之后将字符串转化为double类型或float类型
可以存储这些经/纬度数据,如波纹管 -
$arr = array("13692941, 100750723",
"1370649,10075405999999998",
"1371334,10075428999999997",
"1372268,10074638000000004");
// serialize data before save to database, you should deserialized that when you will use this data after query
$serializedArr = serialize($arr);
insert into geom (g) values ("{$serializedArr}");
SQL
Server没有double类型,若是你需要用双精度数据,如果不固定小数位,用float就可以了;
若是固定小数位,可以用numric;如果整数和小数都出现,可以用real
无论MYSQL还是SQL SERVER,用float类型存放055是不会出问题的,显示为1可能是相关的客户端软件显示时候的宽度不够,自动进行了四舍五入而已,你可以使用MYSQL的命令用SQL显示一下,结果有误差,但是值是对的,比如可能显示055000000001或者054999999999
以上就是关于在sql里面要存储带小数的数应该用什么数据类型全部的内容,包括:在sql里面要存储带小数的数应该用什么数据类型、在SQL数据库中,设置了一个字段的类型为money,但是money类型数据保留的是四位小数,如何设置为两位小数、纬度和度量在MySQL数据库中怎么存储等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)