Vb.net vs.net编程中十进制数的拆分

Vb.net vs.net编程中十进制数的拆分,vb.net,visual-studio,Vb.net,Visual Studio,我有一个项目要做,因为我需要做一些数学计算 例如,如果用户输入一个数字6765333 现在我必须分析,给定的数字应该除以180 我将获得37585.183333 现在开始讨论主要问题 我想把37585和.1833333 然后仅将.183333与6相乘 所以我应该得到1.1 这一切都应该在给出新的动态编号后自动完成 这是在windows应用程序中 希望有人能帮我一下试试看 decimal no = 6765333m / 180; Console.WriteLine(no); Console.

我有一个项目要做,因为我需要做一些数学计算

例如,如果用户输入一个数字
6765333

现在我必须分析,给定的数字应该除以180

我将获得
37585.183333

现在开始讨论主要问题

我想把
37585
.1833333

然后仅将
.183333
与6相乘

所以我应该得到
1.1

这一切都应该在给出新的动态编号后自动完成

这是在windows应用程序中

希望有人能帮我一下试试看

 decimal no = 6765333m / 180;
 Console.WriteLine(no);
 Console.WriteLine(decimal.Remainder(no, 1) * 6);
VB语法:

 Dim no = 6765333 / 180
 Dim no1=Decimal.Remainder(no, 1) * 6
 Dim no2=Decimal.Round(no1, 1)
您可以试试这个..
decimal val=6765333
十进制divNum=180
分贝ans=val/divNum
int intVal=ans
int decVal=ans intVal; //现在得到decVal=.183333。所以你可以计算它

最终解决方案

    Dim i As Double = 6765333
    Dim j As Double = i / 180
    Dim k As Double = j - Math.Floor(j)
    Dim sk As String = CStr(k).Substring(0, 11) ' truncate after 9 decimal digits
    k = CDbl(sk)
    Dim l As Double = Math.Round((k * 6) * 10) / 10 ' round on 1 decimal

decVal的值为0,整数怎么可能有小数位数的结果?如果人们先测试,而不是给你一个错误的答案,那该有多好,你不同意吗?@Martin-我已经发布了我的建议,以便OP可以尝试,其次输出是正确的-OP必须舍入该值。如果有人要求答案,请给出答案,不要拐弯抹角这个解决方案是正确的,但是转换成字符串来截断是不必要的。AVD的代码更好。AVD在看到我的代码并阅读我的评论后,编写(编辑)了他的解决方案。这样,即使是猴子也能回答问题。我知道你首先说的是“正确的”,但我想说的是他的代码更好,仅此而已。这不是一场比赛,也不是一场比赛,他现在有了最好的解决方案,尽管他一开始有点错(忘记了四舍五入以匹配预期答案)。