Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/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
Ms word 如何格式化十进制合并字段以显示数字而无需额外填充?_Ms Word_Word 2010 - Fatal编程技术网

Ms word 如何格式化十进制合并字段以显示数字而无需额外填充?

Ms word 如何格式化十进制合并字段以显示数字而无需额外填充?,ms-word,word-2010,Ms Word,Word 2010,如果需要的话,我在设置十进制数的格式时遇到了问题,需要使用千位分隔符和十进制分隔符来显示。数字最多可以有三个十进制数字。我有一种感觉,我错过了一些非常明显的东西 基本上: 1 -> 1 1.11 -> 1.11 1.111 -> 1.111 我一直在使用代码格式化数字,到目前为止,我尝试了以下组合: \# ,0 \# ,0.000 \# ,# \# ,#.### \# #,# \# #,#.### 基本上,对于1.11的值,我要么得到1作为结果,要么得到1.110作为结果。

如果需要的话,我在设置十进制数的格式时遇到了问题,需要使用千位分隔符和十进制分隔符来显示。数字最多可以有三个十进制数字。我有一种感觉,我错过了一些非常明显的东西

基本上:

1 -> 1
1.11 -> 1.11
1.111 -> 1.111
我一直在使用代码格式化数字,到目前为止,我尝试了以下组合:

\# ,0
\# ,0.000
\# ,#
\# ,#.###
\# #,#
\# #,#.###

基本上,对于1.11的值,我要么得到1作为结果,要么得到1.110作为结果。

鉴于您最近的评论(例如,“数据库返回一个填充数字1.110”),您的数据没有“最多三个十进制数字”;它们正好有三个十进制数字。如果这是针对邮件合并的,则可以使用编码为以下的字段获得千位分隔符和对尾随0的抑制:

{={MERGEFIELD MyField}#,0.####

如果数字以小数点0结尾,则以0所在的空格结尾,如果数字是整数,则以小数点结尾。如果你真的想省略所有这些尾随的东西,你应该修改数据,使其以适当的格式存储;否则,需要一些相当复杂的字段编码来实现您的预期结果:

{QUOTE{SET Val{MERGEFIELD MyField}{IF{=INT(Val)#0.000}{REF Val}{=INT(Val)#,0}{IF{=INT(Val*10)/10}0.000}{REF Val}{=Val#,0.0}{IF{=INT(Val*100)/100}0.000}{REF Val=Val 35000}{


注意:上述示例的字段大括号对(即“{}”)都是在文档本身中通过Ctrl-F9(Mac上的Cmd-F9)创建的;您不能简单地在此邮件中键入或复制粘贴它们。通过任何标准的单词对话添加它们也不切实际。字段结构中表示的空格都是必需的。

鉴于您最近的评论(例如,“数据库返回一个填充数字1.110”),您的数据没有“最多三位小数”;它们正好有三个十进制数字。如果这是针对邮件合并的,则可以使用编码为以下的字段获得千位分隔符和对尾随0的抑制:

{={MERGEFIELD MyField}#,0.####

如果数字以小数点0结尾,则以0所在的空格结尾,如果数字是整数,则以小数点结尾。如果你真的想省略所有这些尾随的东西,你应该修改数据,使其以适当的格式存储;否则,需要一些相当复杂的字段编码来实现您的预期结果:

{QUOTE{SET Val{MERGEFIELD MyField}{IF{=INT(Val)#0.000}{REF Val}{=INT(Val)#,0}{IF{=INT(Val*10)/10}0.000}{REF Val}{=Val#,0.0}{IF{=INT(Val*100)/100}0.000}{REF Val=Val 35000}{


注意:上述示例的字段大括号对(即“{}”)都是在文档本身中通过Ctrl-F9(Mac上的Cmd-F9)创建的;您不能简单地在此邮件中键入或复制粘贴它们。通过任何标准的单词对话添加它们也不切实际。字段构造中表示的空格都是必需的。

您的上一个示例-
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\/code>对我有效(除了我的千位分隔符。您可能应该检查Windows下的千位和十进制分隔符设置。人们可能会问,为什么您需要数字图片开关-您的数字应该返回,因为它存在于数据源中;通常,只有当您想以不同的格式设置时,才需要一个开关。@Cindymister我再次检查了它,但它对我不起作用,例如,我得到了1.110。@Macrood数据库返回一个带填充的数字1.110。我确实需要不同的格式。最好在数据库中使用“清理数据”的查询来预处理数据,并将邮件合并链接到该查询……您的上一个示例-
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
对我有效(除了我的千位分隔符是一个符号,而不是一个逗号)。您可能应该检查Windows下的千位和十进制分隔符设置。人们可能会问,为什么您需要数字图片开关-您的数字应该返回,因为它存在于数据源中;通常,只有当您想以不同的格式设置时,才需要一个开关。@Cindymister我再次检查了它,但它对我不起作用,例如,我得到了1.110。@Macrood数据库返回一个带填充的数字1.110。我确实需要不同的格式。最好在数据库中使用一个查询来预处理数据,该查询“清理数据”,并将邮件合并链接到该数据库……哇。毫无疑问,这是一个复杂的解决方案。所讨论的数字是数量字段,在99%的情况下是整数。用户合理地希望有一个“干净”的报告,尤其是如果有一个数量为1的项目列表,这是最常见的情况。但有时它是0.125或类似的值,报告必须是正确的。哇。毫无疑问,这是一个复杂的解决方案。所讨论的数字是数量字段,在99%的情况下是整数。用户合理地希望有一个“干净”的报告,尤其是如果有一个数量为1的项目列表,这是最常见的情况。但有时它是0.125或类似的值,报告需要是正确的。