美国用户是我们应用程序的初始用户群,但这已扩展到加拿大,英国和斯堪的纳维亚用户也使用该系统的程度。
PowerBuilder数据窗口不喜欢带有小数和句点转换的斯堪的纳维亚货币格式(###。###,00)。当我们尝试在数据窗口中设置格式时,它抱怨说,该格式无效。
我们不可能是唯一遇到此问题的人,但我没有在互联网上通常的搜索中看到很多关于这个主题的内容。
目前,其中一位开发人员找到了一种解决方法,让登录脚本更改Windows操作系统上的会话货币格式,并将“[currency]”放入datawindow字段的format属性中操作系统的格式。
这似乎有效,但出于多种原因,我认为这不是最佳解决方案。
我很确定有人会告诉我,我需要阅读Spolsky的unicode文章。但除此之外,我对一个更加流畅的PowerBuilder解决方案的细节很感兴趣,如果有人的话。提前谢谢。
答案 0 :(得分:2)
从PB的帮助定义显示格式:
数字和货币设置
要确保应用程序在部署的任何国家/地区的行为相同,DataWindow表达式以及显示格式和编辑掩码中使用的掩码都需要美国数字表示法。也就是说,当您在DataWindow表达式或数字掩码中指定数字时,逗号始终表示千位分隔符,而句点始终表示小数位。您还应始终使用$符号来表示货币符号。
在运行时,将显示数字和货币的本地正确符号。逗号和句点将由Windows控制面板中“区域”或“国际设置”属性表中用户的“数字”设置中定义的分隔符替换。掩码中的$符号将替换为Windows控制面板中用户的“货币”设置中定义的本地货币符号。例如,在逗号代表小数位且句点代表数千的国家/地区,用户会看到这些格式的数字。
这可能不是你希望得到的答案......我可以建议的是: