2014-05-08 49 views
0

我使用TextBox作为包含十进制值的表单。EditValue返回逗号代替的时间

TextEdit.EditValue = 0.4

因为我是在印尼和我的电脑小数设定为,,当我打电话TextEdit.EditValue它会返回0,4代替0.4,这将是一个问题,当我插入到数据库中,因为TextEdit.EditValue使用逗号不期。我怎样才能改变这一点?

另外我不想更改我的客户端格式设置。我可以更改全局设置或返回TextEdit.EditValue0.4

+0

的EditValue不是System.Windows.Forms.TextBox的成员。您是否使用了具有EditValue属性的DevExpress TextEdit? –

+0

我的坏,它的textedit –

回答

0

所以你使用的是DevExpress TextEdit。

EditValue属于Object类型。当您检索EditValue时,将光标悬停在TextEdit1.EditValue上并查看分配的对象类型是String还是Decimal。我怀疑这是十进制的,在这种情况下,对象是你想要的类型,它显示“0,4”的事实并不重要。铸造尝试一下,看看编译器是否会引发错误或正确地分配0.4到myDecimal变量

Dim myDecimal As Decimal = CType(TextEdit1.EditValue, Decimal) 
+0

mydecimal将返回0,4,当您尝试插入到数据库它将返回0.00(必须替换逗号到第一个和只有工作,如果计算机客户端使用逗号) –

+0

我感到困惑,CType(“0 ,4“,Decimal)返回4D。我认为那要么返回0.4D要么抛出错误。 –

+0

你是说如果用户在TextEdit中输入“0.4”,EditValue返回“0,4”?为什么不使用TextEdit的Text属性呢?如果用户在TextEdit中输入“0.4”,那么您可以确定CType(TextEdit1.Text,Decimal)将返回0.4D。 –

0

尝试......

NewDataPeriod = DATA.Replace(“‘’”)

更改所有逗号在您的数据周期

+0

这似乎解决了问题,但不是我想要的。我想将默认情况下的.editvalue更改为句点。 –