是这样的。excel表中的内容是24503.5使用 { MERGEFIELD XXXX }显示的就是 24503.499999999 之类的东西。使用 {={ MERGEFIELD XXXX }} 就正常了。为什么呢?
主要就是通过图片/数字格式来控制小数点数
这是一个BUG,MS确认的。此前论坛中有过讨论,有几种解决方式,EXCEL中数据如果为文本格式(可以人为设置也可),可以直接使用如{ MERGEFIELD XXXX },如果需要保留指定小数点位数可以使用数字图片开关来解决,如{ MERGEFIELD XXXX \#”0.00″ },如果保留原设置的,可以使用{={ MERGEFIELD XXXX }} .
如果小数位置是变动的,有可能是整数,有可能精确到角,也可能是精确到分的,完全按照EXCEL所得,插入域以后,在需要控制小数点位数的域名上点击鼠标右键,选择“切换域代码”,然后在显示出来的域代码的“}”符号前面添加\# “0.0” “0.0”中小数点后面的的“0”的个数就是保留小数点的位数。即
域代码为: { MERGEFIELD “实发工资_” }
如果你只想对所有数据保留一个小数的,可以使用:
域代码为: { MERGEFIELD “实发工资_” \# “0.0”}