access数据库中小数点前0没有了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了access数据库中小数点前0没有了相关的知识,希望对你有一定的参考价值。

sql "update device_table set mvol=25.4,baout=0.4 where comnum='COM1'"

我写入数据库后mvol字段是正常的值 25.4
但是baout的值变成了.4
我想要显示0.4啊,该怎么破?

1、与access无关。在电脑“控制面板”选择“日期、时间、语言、区域设置”,然后选择“更改数字、时间的格式”,在“区域选项”中单击“自定义”,最后更改“零起始显示”.7为0.7。即可。 这样做,在整个电脑系统中,只要零点几的小数都将以0开始,显示0.几。
2、另一种做法。在access中,在设计试图中打开你的表“device-table”,字段“baout”类型选择为“数字”,“字段大小”选择“小数”,然后关键是在“格式”中键入 0.### (而不要从组合框中选择),至于 0.## 什么意思?可在“帮助”中键入“数字格式”查找后,选择“设置表、窗体和报表中数据的格式”以及“Format 相关内容”,具体学习。简单先说一下,0表示该位置没有数字则以 0 表示,#表示该位置没有数字则留空;若键入 #.# 则 0.4 就会显示为 .4 。
参考技术A 打开“设计视图”,将“格式”选择为“标准即可”,不要选用“常规数字”

Bug记录Oracle中小数点前面的0不显示的问题

项目场景

在一次将列表数据导出到Excel中的实现过程中,列表数据有个比例的字段,要求导出到Excel中该字段的数据要以百分数的形式进行显示。


问题描述

后台查询列表数据的时候,SQL语句我是这样进行拼接的(下面SQL为模拟SQL)。经过测试发现,最终导出到Excel中的数据该字段小数点前面的0丢失了。

select t.ratio  * 100 || '%' from  tmp_table t;

于是,在Plsql中执行该Sql语句发现

原因分析

这是由于Oracle中存在隐形转换,当与字符串进行拼接时自动调用了to_char函数,并且to_char在做转化时,如果你不指定格式,它就按它的格式去做转化,结果就把0给转不见了,所以在做转化时要给定格式。

解决方案

在进行隐形转换之前把小数进行字符串转换后再进行拼接,最终把SQL修改为下面的方式:

select to_char(t.ratio * 100,'fm990.0000')  || '%' from tmp_table t;

以上是关于access数据库中小数点前0没有了的主要内容,如果未能解决你的问题,请参考以下文章

oracle如何显示小数点前面的0

EXCEL中小数点后面的0怎么去掉?比如2.000 我想把后面的0去掉,表格中几百个统一去掉

谁知道Access数据库行数有没有限制?是多少?

JS中小数相加相减时出现很长的小数点的解决方式

java得到excel中小数完整值

access文件共享锁定数溢出怎么办