This question already has answers here:
C#, Operator '*' cannot be applied to operands of type 'double' and 'decimal'

(3 个回答)


3年前关闭。




我目前正在制作一个读入 CSV 文件并生成人员和帐户余额列表的税务程序(研究项目),我需要从一个文本框中舍入小数点后两位,并将它们添加到另一个文本框中。我附上的代码告诉我我不能使用“*”我如何用 0.1 乘以小数?如果我做错了,请告诉我,干杯!
public partial class Form1 : Form
{
    //CSV ARRAY LISTS
    List<string> fullName = new List<string>();
    List<string> accBalance = new List<string>();

    int currentItem;
    int index;
    int counter = 0;

    decimal interestBalance = 0;
    decimal result;

    decimal interestRemainder = 0;
    double round = 0.1;


 private void interestBalanceBox_TextChanged(object sender, EventArgs e)
    {
        interestRemainder = decimal.Parse(interestBalanceBox.Text);
        interestRemainder = Math.Truncate(0.1 * interestRemainder) / 100;
        interestRemainderBox.Text = interestRemainder.ToString();

    }

我们要代表的程序就是这里的这个程序!任何帮助将非常感激。

c# - 运算符 * 不能应用于小数和双 C#-LMLPHP

最佳答案

interestRemainder = Math.Truncate((decimal)0.1 * interestRemainder) / 100;

您需要将 0.1 转换为与其他操作数相同的类型

关于c# - 运算符 * 不能应用于小数和双 C#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47614326/

10-17 01:03