Vb.net 从数据库值在文本框中计算premium
市场价值 我需要计算保险费计算如下: 前10万澳元的5%,之后每10万南非兰特或不足10万南非兰特的10% 所以我不知道该怎么做 我的想法是: 从我的数据集中获取值Vb.net 从数据库值在文本框中计算premium,vb.net,Vb.net,市场价值 我需要计算保险费计算如下: 前10万澳元的5%,之后每10万南非兰特或不足10万南非兰特的10% 所以我不知道该怎么做 我的想法是: 从我的数据集中获取值 Dim Value1 as bool Dim Value2 as bool Dim premium as bool Dim price As String=Convert.ToString(dsVehicleFill.Tables[0].Rows[0][“VEH_MarketPrice”])关于计算溢价的问题与其说是编程问题,不如
Dim Value1 as bool
Dim Value2 as bool
Dim premium as bool
Dim price As String=Convert.ToString(dsVehicleFill.Tables[0].Rows[0][“VEH_MarketPrice”])
关于计算溢价的问题与其说是编程问题,不如说是一个数学问题,但这里有几个问题:
Dim Value1 as bool
Dim Value2 as bool
Dim premium as bool
bool
数据类型表示布尔值,即其值应为1或0。在这里使用它们是没有意义的:您将希望变量的类型改为Double
,这适用于涉及货币的分数计算
至于从DataTable中提取值的问题,您需要更具体地说明哪些不起作用
现在,对于溢价公式,让我们将其分解(在$和R之间切换(我假设是指南非兰特),我将在本例中仅使用美元):
- 减去100000后计算余数
- 将剩余部分除以10000,得出要申请的10美元保费数(注意:在许多其他语言中,表示
将导致整数除法,删除任何小数部分。您可以通过如下方式编写常量来强制进行二次除法:x/10000
。幸运的是,VB.NET默认为二次除法,正如Proputix在注释中指出的那样。)x/10000.0
- 取该数字的上限(即将其四舍五入到最接近的整数)
- 保险费=
5000美元(前100000美元的5%)+上限*10美元
在Visual Basic中实现这一点留给读者作为练习:)当您说“不起作用”时,您的意思是什么?它会引发异常吗?如果是,错误信息是什么?它是否产生了错误的值?该字段中有空值吗?您需要进行几个有问题的类型转换
value1=price/.05
因为price是一个字符串,所以它类似于“cat”/2
,然后将结果(浮点)转换为布尔值。使用选项Strict
我认为R
的意思是表示remainderAh,这是有道理的。幸运的是,我在示例中就是这样解释的。很好的走查,但您的NB不太正确x/10000
会在VB中产生一个双精度-使用x\10000
强制整数除法。这没有什么坏处,但一些吹毛求疵的人可能会提出异议或投反对票。谢谢你的纠正——我在考虑C#和其他地方的语义。我会更新我的答案。
Dim Value1 as bool
Dim Value2 as bool
Dim premium as bool