Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
devexpress vgridcontrol显示格式字符串don';行不通_Devexpress_Displayformat - Fatal编程技术网

devexpress vgridcontrol显示格式字符串don';行不通

devexpress vgridcontrol显示格式字符串don';行不通,devexpress,displayformat,Devexpress,Displayformat,我有一个未绑定的vgrid控件。一个字段的未绑定表达式如下所示: Iif([NETSAL]=0, 0, [GP] / [NETSAL] * 100 ) 未绑定类型为十进制,格式类型为数字,格式字符串n1 问题是,我没有得到正确的格式化值。F.e。如果gp=200,netsal=1500,我应该得到:13,3,但我得到0,0。我检查了计算值,这也是0,0 但是如果gp=2500,ant netsal=1000,那么这个值是200,所以看起来,这个值是四舍五入的 但是为什么呢 谢谢。表达式结果类型

我有一个未绑定的vgrid控件。一个字段的未绑定表达式如下所示:

Iif([NETSAL]=0, 0, [GP] / [NETSAL] * 100 )
未绑定类型为十进制,格式类型为数字,格式字符串n1

问题是,我没有得到正确的格式化值。F.e。如果gp=200,netsal=1500,我应该得到:13,3,但我得到0,0。我检查了计算值,这也是0,0

但是如果gp=2500,ant netsal=1000,那么这个值是200,所以看起来,这个值是四舍五入的

但是为什么呢


谢谢。

表达式结果类型取决于表达式成员类型。在您的例子中,[GP]/[NETSAL]表达式的所有成员都是整数值。这就是将结果四舍五入到最接近的整数值的原因

将十进制常量值添加到表达式中会将表达式结果的类型更改为十进制。根据,可以使用特殊文字声明数值常量的类型。对于decimal类型,文本为“m”

请尝试以下表达式,它应按预期工作:

Iif([NETSAL]=0, 0, 1m * [GP] / [NETSAL] * 100 )