我不知道为什么会这样做但是这里链接的代码没有显示在图片中。
在string
中,类型为 Dim cursorValue as BigInteger
Dim cursorPrice as BigInteger
Dim xCursor as Decimal
My.Settings.cursorValue = cursorValue.ToString
My.Settings.cursorPrice = cursorPrice.ToString
My.Settings.xCursor = xCursor
cursorUpgrade.Text = "Cursors: " & cursorValue.ToString("N0") & Environment.NewLine & "Upgrade: " & cursorPrice.ToString("N0")
错误:
更新显示的值:
{{1}}
答案 0 :(得分:0)
您在链接图片的代码中遇到的问题
cursorValue += xCursor
如果cursorValue
是BigInteger且xCursor
是Dewcimal,由于错误消息中给出的原因,无法工作。相反,你可以使用
cursorValue += New BigInteger(xCursor)
答案 1 :(得分:0)
您无法在VB中直接混合BigInteger
和十进制值。
处理此问题的一种方法是将十进制值向上扩展10次,并使其成为BigInteger
并在BigInteger
域中执行aritmetic。因此,如果您需要将BigInteger
乘以任意十进制数,并且您知道您愿意接受的精度,您可以这样做(假设您希望在乘以时保持4位小数的精度十进制数字):
cursorValue *= (BigInteger)(xCursor * 10000)
cursorValue /= 10000
如果要添加1
,只需添加1
,而不是尝试添加xCursor
:
cursorValue += 1
或者,如果您知道要将xCursor
添加为整数:
cursorValue += (BigInteger)xCursor