截取数值某个位数上的值放到相应的单元格中
来源:互联网 发布:淘宝浏览量是什么意思 编辑:程序博客网 时间:2024/06/05 04:27
截取数值某个位数上的值放到相应的单元格中
有些客户在做表的时候,会统计一些金额,然后将这些金额每一个位数(即个,十,百)上的值对应的填充到一个表格中去.
结合使用三个函数:if(),mid(),pos()可实现上图效果。
样例:
报表设计如下图:
A1:=ds1.select(value,false)
B2:=if(pos(A1,".")-5<0,"",mid(A1,pos(A1,".")-5,pos(A1,".")-4))
C2: =if(pos(A1,".")-4<0,"",mid(A1,pos(A1,".")-4,pos(A1,".")-3))
D2:=if(pos(A1,".")-3<0,"",mid(A1,pos(A1,".")-3,pos(A1,".")-2))
E2:=if(pos(A1,".")-2<0,"",mid(A1,pos(A1,".")-2,pos(A1,".")-1))
F2:=if(pos(A1,".")-1<0,"",mid(A1,pos(A1,".")-1,pos(A1,".")))
G2: =if(pos(A1,".")+1==0,"0",mid(A1,pos(A1,".")+1,pos(A1,".")+2))
H2:=if(pos(A1,".")+2==0,"0",mid(A1,pos(A1,".")+2,pos(A1,".")+3))
解释说明如下:Pos(A1,”.”):取到小数点在这个字符串中位于第几位,默认从0开始计算。
if(pos(A1,".")-5<0:由于万位是位于小数点往前排5位,如果没有pos(A1,”.”)-5小于0,则说明该数值在万位上没有值,不是一个万位数。则单元格显示为空。
mid(A1,pos(A1,".")-5,pos(A1,".")-4):万位上有值的时候,截取到这个万位的值,显示到单元格中。
C2到F2格子中内容的意思都一样。
G2与H2中为什么分别是加1和加2呢?
因为十分位和百分位上的值是排在小数点之后的,所以取得小数点位数之后,要往后推。
注意:
1.如果数据库中的数据是number(20,2)的格式,且有这种数据:100.00,那么在数据库中查询的结果是100.00,但是将这种数据放到单元格中来之后会变成100.所以这个需要在SQL语句中做一个保留小数位的操作,做法如下:
Selectto_char(value,’fm9999999999999.00’) from table .
to_char(value,’fm9999999999999.00’):保留两位小数
to_char(value,’fm9999999999999.000’):保留三位小数
2.如果数据库中存的就是100这种数据,没有保留小数位。那么以上方法并不适用。
- 截取数值某个位数上的值放到相应的单元格中
- 获取RDLC某个单元格的数值
- GridView中截取值的位数为10
- excel匹配单元格及其相应的值
- JTabel 中监听某个单元格的值确实改变了
- 如何修改grid中某个单元格的值
- JTabel 中监听某个单元格的值确实改变了
- JTabel 中监听某个单元格的值确实改变了
- SQL取某个字段最大(小)数值及其相应行的其他字段值的句语
- 截取以逗号分隔的字符串放到map中
- 截取某个字符串中特定的字符串
- str 函数主要用于返回与指定数值表达式对应的字符,截取小数位数
- 图片滚动并且当鼠标放到图片上时,上面的大图会相应的变化。
- 获取表格中某行某个单元格的值
- Excel中去掉单元格中数值暗藏的单引号'解决办法
- php 截取小数点的位数
- 微信小程-截取小数点的位数
- ASP.NET 中 GridView 数值列 小数点位数 的控制
- 毕业设计(三)---spring学习笔记(1)之-IOC
- 实现三星S3蒲公英水波纹效果(三)——Activity水波纹实现篇
- GSoap 调用webservice的一些注意事项
- suse11下配置jdk环境变量
- socket编程各步骤作用简述之python版
- 截取数值某个位数上的值放到相应的单元格中
- 字符串的格式化
- 浅析C++中内存分配方式
- 用 VC++建立 Windows 服务程序
- OGRE 初始化
- Paths through the Hourglass UVA10564
- 记一次薪酬谈判的教训 .
- UNDO 表空间重建(清理)
- Win7自动关机重启指令