[英]Decimal value rounded up in vb.net
每次我使用十進制值執行更新 function 時,它都會捕獲四舍五入的 integer 值。 任何人都知道要使用的數據類型是什么? 我嘗試了金錢和浮動我仍然得到四舍五入的價值。
這是 my.vb 代碼
cmd.CommandText=“UPDATE [dbo].[transaction] SET Price=@Price WHERE ID=@ID”
cmd.Parameters.Add(“@Price”,SqlDbType,Decimal,18,2).Values=Textbox1.text
cmd.Parameters.Add(“@ID”,SqlDbType,Int).Values=Textbox2.text
SQL Server Datatype
ID(PK,Int,not null)
Price(decimal(18,2),null)
Input: 25.75
Result: 25
Desired Result: 25.75
您需要設置Option Strict On
- 它會指出沒有.Add
的重載需要 (String, SqlDbType, Integer, Integer)。
你可以使用類似的東西:
Dim dv = Decimal.Parse(Textbox1.Text)
cmd.Parameters.Add(New SqlParameter With {
.ParameterName = "@Price",
.SqlDbType = SqlDbType.Decimal,
.Precision = 18,
.Scale = 2,
.Value = dv})
(您還應該將 Option Strict On 設置為新 VB 項目的默認值。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.