我正在研究客户端应用程序和服务器之间的传统经典ASP接口。这不是一个网站,只是ASP中的一个中间层(我知道这不是首选的做事方式,告诉你它的遗产,不幸的是 - 它现在不能改变)。
所以我在查询字符串上发送一个double值作为参数,如下所示:
http:\\localhost\virtdir\myobject.asp?f=function&1=5.25
现在在ASP中,我将该值传递给COM组件上的方法(myobject是该COM组件的一个实例),使用CDbl将字符串值转换为double:
myobject.DoMethod(CDbl(Request.QueryString("1")))
(实际上,我认为我不必在这里使用CDbl,因为这将隐式输入,因为COM方法需要一个double作为参数?)
现在我的问题是,如果在服务器的区域设置中使用','作为小数分隔符,则不起作用。在这种情况下,我必须在查询字符串上传递“5,25”才能使其正常工作 由于客户端不知道服务器的区域设置,是否有任何可靠的方法来确保对CDbl的强制转换始终使用相同的小数分隔符,而不管区域设置如何?或者是否有像CDbl这样的功能呢?谢谢!
答案 0 :(得分:2)
你可以在调用cdbl
之前强制使用“当前文化”SetLocale(1033)
Session.LCID = 1033