【问题标题】:How to convert smallmoney to something c# [closed]如何将 smallmoney 转换为 c# [关闭]
【发布时间】:2015-12-14 00:23:43
【问题描述】:

我的数据库列是“薪水”。我将本列中员工的工资记录保存为 smallMoney。使用 C#,我可以插入此列值,如“2000”。之后,我看到数据库中的列值为“2000,00”。我需要像“2000”一样将这个值作为字符串在我的程序中更新。因为我的程序是这样工作的。那么,要再次使用这个值,我怎样才能将这个 smallMoney 转换为可以有效地用于我的程序的东西? (对于我的程序来说,Int "2000" 或 String "2000" 是可以的)

我进行了研究,但找不到解决方案。谁能说说我是怎么做到的?

【问题讨论】:

  • 这里对这个问题有一个非常彻底的答案。 C#-SQL Server data types
  • 尝试在app_start中添加这样的代码,希望对ModelBinders.Binders.Add(typeof(decimal), new DecimalModelBinder()); 有帮助
  • 因为它是您的程序,所以您并不真正需要字符串形式的值。您可以在内部接受任何输入和convert,以任何您喜欢的方式。

标签: c# sql sql-server-2012


【解决方案1】:

SQL smallmoney 等于 C# decimal。 因此,在从数据库中检索它之后,您可以将其转换为 int。 (您将丢失任何十进制数字)或者您可以使用字符串格式仅显示整数。

例如:

// Create example value from database
decimal dSalary = 2000.00m;

int iSalary = Convert.ToInt32(dSalary);

或者你可以保留一个小数,只使用字符串格式,像这样:

string Result = dSalary.ToString("0");

【讨论】:

    猜你喜欢
    • 2021-01-18
    • 1970-01-01
    • 2020-08-26
    • 2010-10-18
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 2015-12-29
    • 2015-09-16
    相关资源
    最近更新 更多