我想删除小数点后的零并显示
输入123.111→显示器123.111
输入123.000→显示器123
正如Sergio所说,最简单的方法是使用替换方法。您也可以在使用替换之前验证您的变量/属性。
if &your_variable.ToString().EndsWith(".000")
&your_variable.ToString().replace(".000", "")
endif
请记住,如果&your_variable是Numeric,您必须将其转换为字符串,因为replace方法将Char、LongVarChar或VarChar数据类型作为参数。
最简单的方法是使用字符串替换。
以下是文档:https://wiki.genexus.com/commwiki/servlet/wiki?12710,替换+方法
例如:
&String1='123.000'&String2=&String1.Replace('.000',''(
如果以数字变量开头,例如N(10,3(,则首先将其转换为字符串:&String1=&Numeric1.ToString((.Trim((
一个选项是将带小数的变量分配给不带小数的变量
示例:
&aux2=3.2//&aux2定义为数值4.2
&aux3=&aux2//&aux3定义为数字4
结果:&aux3=3
第二种选择是使用圆形功能
示例:
&aux2=3.2//&aux2定义为数值4.2
&aux2.圆形(0(
结果:&aux2=3.00