[ABI 5.1] 求助,小数点前的0没有显示

13901
10

Plain 数据小白Lv1

发表于2021-2-3 09:37

悬赏1

已解决

楼主

最近看过此主题的会员

chenman

xxxl

缱绻

Gardenia

hujuan

最佳答案
Plain 发表于 2021-2-3 11:08
还是不可以,可能是不能用SQL里的trunc函数展示

我的意思是去掉原来的trunc函数,改成在显示表达式中用上面的表达式像这样原来是三位数

我在显式表达式中写format('%.2f',self.value)+'%'

最后计算后就是这样的


更多format函数说明看这个
5. FORMAT

定义:FORMAT(C,N)

将一数字格式化为指定格式后输出

参数:

C:需要格式化的字符串的格式,完整的格式为"%0:,6.3f",各部分说明见示例。

N:要格式化为指定格式的数值

示例:

将一数字格式化为指定格式,返回值为字符串或数值

format('%0:,6.3f',1245.5634)=1245.563 将浮点数num转换为字符串,并指定小数点后位数

详细说明:

format函数格式化数字输出的操作符由6部分组成:

1、%:是起始控制符,表示从此处开始的字符串为格式化控制参数

2、0::表示控制格式化第几个数,此处"0:"表示控制第一个数,例如"5:"表示控制第5个数。此操作符也可以不写,系统将采用默认模式,默认的是从左往右顺序格式化

3、,:匹配","和",",表示需要控制格式化输出中显示千分符,如果不写","和","则表示不显示千分符

4、6:表示需要确保输出的位数为6位,位数不足前面以0补足(该控制一般应只对整数使用)。如对于数字1则会输出为000001(特别的,对于小数,则表示控制整个数的位数,最好不要在控制小数时使用此操作符)

5、.3: 表示控制小数位输出的个数,如.3表示显示3位小数,对于太大的数,小数位尽量不要控制

6、f': 匹配字符,该字符为类型转换字符,目前支持"d"(表示整数)"f"(表示小数)"s"(表示字符串),使用此操作符表示将输出数转换为指定类型输出。
例如:

函数 输出 说明
format('%.3f',1.0)1.000 控制小数位数
format('%3d',1) 0001 整数位不足补0
format('%,f',1111111111111.1111) 1,111,111,111,111.111 显示千分符
format('%d',12.5) 13 小数转换为整数(四舍五入)
format('%0:3d %1:.2f',12.5,10.4)0013 10.40 多数字控制(从0开始,"0:"表示控制第一个数字)
format('%5.3f',1.0) 01.000 最好不要控制小数位数的同时控制总的位数
format('%.3f',123234234234325345.5634)123234234234325344.000 太大数时,小数可能不准


10个回答

只看楼主

xxxl 数据领袖Lv6

发表于2021-2-3 10:06

只看该作者

取消 关注该作者的回复

沙发

用什么方法设置的"%"

Plain 数据小白Lv1

发表于2021-2-3 10:10

只看该作者

取消 关注该作者的回复

板凳

xxxl 发表于 2021-2-3 10:06
用什么方法设置的"%"

用 trunc截取了后两位数字在用 || 拼接符接上%

xxxl 数据领袖Lv6

发表于2021-2-3 10:26

只看该作者

取消 关注该作者的回复

地板

Plain 发表于 2021-2-3 10:10
用 trunc截取了后两位数字在用 || 拼接符接上%

原来的数据是2.36,然后需要加上百分符号改成2.36%这样吗

Plain 数据小白Lv1

发表于2021-2-3 10:29

只看该作者

取消 关注该作者的回复

5#

xxxl 发表于 2021-2-3 10:26
原来的数据是2.36,然后需要加上百分符号改成2.36%这样吗

对的,只是原来的数据是0.364545,我截取出0.36,在加上%,显示应该是0.36%,结果这边显示 .36% ,小数点前0不见了

xxxl 数据领袖Lv6

发表于2021-2-3 11:01

只看该作者

取消 关注该作者的回复

6#

本帖最后由 xxxl 于 2021-2-3 11:03 编辑

Plain 发表于 2021-2-3 10:29
对的,只是原来的数据是0.364545,我截取出0.36,在加上%,显示应该是0.36%,结果这边显示 .36% ,小数点 ...

在显示表达式中写left(self.txt,4)+'%'这样试试或者用format函数像这样写format('%.2f',self.value)

Plain 数据小白Lv1

发表于2021-2-3 11:08

只看该作者

取消 关注该作者的回复

7#

xxxl 发表于 2021-2-3 11:01
在显示表达式中写left(self.txt,4)+'%'这样试试或者用format函数像这样写format('%.2f',self. ...

还是不可以,可能是不能用SQL里的trunc函数展示

xxxl 数据领袖Lv6

发表于2021-2-3 09:37

只看该作者

取消 关注该作者的回复

8#

Plain 发表于 2021-2-3 11:08
还是不可以,可能是不能用SQL里的trunc函数展示

我的意思是去掉原来的trunc函数,改成在显示表达式中用上面的表达式像这样原来是三位数

我在显式表达式中写format('%.2f',self.value)+'%'

最后计算后就是这样的


更多format函数说明看这个
5. FORMAT

定义:FORMAT(C,N)

将一数字格式化为指定格式后输出

参数:

C:需要格式化的字符串的格式,完整的格式为"%0:,6.3f",各部分说明见示例。

N:要格式化为指定格式的数值

示例:

将一数字格式化为指定格式,返回值为字符串或数值

format('%0:,6.3f',1245.5634)=1245.563 将浮点数num转换为字符串,并指定小数点后位数

详细说明:

format函数格式化数字输出的操作符由6部分组成:

1、%:是起始控制符,表示从此处开始的字符串为格式化控制参数

2、0::表示控制格式化第几个数,此处"0:"表示控制第一个数,例如"5:"表示控制第5个数。此操作符也可以不写,系统将采用默认模式,默认的是从左往右顺序格式化

3、,:匹配","和",",表示需要控制格式化输出中显示千分符,如果不写","和","则表示不显示千分符

4、6:表示需要确保输出的位数为6位,位数不足前面以0补足(该控制一般应只对整数使用)。如对于数字1则会输出为000001(特别的,对于小数,则表示控制整个数的位数,最好不要在控制小数时使用此操作符)

5、.3: 表示控制小数位输出的个数,如.3表示显示3位小数,对于太大的数,小数位尽量不要控制

6、f': 匹配字符,该字符为类型转换字符,目前支持"d"(表示整数)"f"(表示小数)"s"(表示字符串),使用此操作符表示将输出数转换为指定类型输出。
例如:

函数 输出 说明
format('%.3f',1.0)1.000 控制小数位数
format('%3d',1) 0001 整数位不足补0
format('%,f',1111111111111.1111) 1,111,111,111,111.111 显示千分符
format('%d',12.5) 13 小数转换为整数(四舍五入)
format('%0:3d %1:.2f',12.5,10.4)0013 10.40 多数字控制(从0开始,"0:"表示控制第一个数字)
format('%5.3f',1.0) 01.000 最好不要控制小数位数的同时控制总的位数
format('%.3f',123234234234325345.5634)123234234234325344.000 太大数时,小数可能不准


Plain 数据小白Lv1

发表于2021-2-3 13:26

只看该作者

取消 关注该作者的回复

9#

xxxl 发表于 2021-2-3 09:37
我的意思是去掉原来的trunc函数,改成在显示表达式中用上面的表达式像这样原来是三位数

我在显式表达式 ...

谢谢,弱弱的问下self.value 是什么意思,能帮忙解答下吗,真的谢谢了

xxxl 数据领袖Lv6

发表于2021-2-3 13:33

只看该作者

取消 关注该作者的回复

10#

Plain 发表于 2021-2-3 13:26
谢谢,弱弱的问下self.value 是什么意思,能帮忙解答下吗,真的谢谢了

self.value是取当前表元的值 是表元对象表达式参考这两个帖子
https://bbs.esensoft.com/thread-136741-1-1.html
https://bbs.esensoft.com/thread-137256-1-1.html

Plain 数据小白Lv1

发表于2021-2-3 13:36

只看该作者

取消 关注该作者的回复

11#

xxxl 发表于 2021-2-3 13:33
self.value是取当前表元的值 是表元对象表达式参考这两个帖子
https://bbs.esensoft.com/thread-136741-1 ...

收到,再次感谢

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号