C# 运算符“^”不能应用于float和int类型的操作数

C# 运算符“^”不能应用于float和int类型的操作数,c#,C#,问题定义:设计一个类BankAccount(accountno,name)。在FixedDeposit类中继承该类,该类具有本金金额(P)、利率(R)、年数(N)等数据成员 允许用户输入p、R、N并计算到期金额(A)和利息(I) 公式 A = P(1 + R / 100) ^ N and I = A - P 我的代码: using System; using System.Collections.Generic; using System.Linq; using System.Tex

问题定义:设计一个类
BankAccount(accountno,name)
。在
FixedDeposit
类中继承该类,该类具有本金金额(P)、利率(R)、年数(N)等数据成员

允许用户输入p、R、N并计算到期金额(A)和利息(I)

公式

A = P(1 + R / 100) ^ N    and   I = A - P
我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace prac_18
{
    public class BankAccount
    {
        int accno;
        string name;
    }

    public class FixedDeposit : BankAccount
    {
        float pamt;
        float roi;
        int years;

        public  void getdata(float p,float r,int y)
        {
            pamt = p;
            roi = r;
            years = y;
        }

        public float calc_due()
        {
             float amt = 0;
             amt = pamt * (1 + roi / 100)^years;   // Here I get the error
             return amt;
        }

        public float calc_intrest()
        {
             float  intrest = 0;
             intrest = calc_due() - pamt;
             return intrest;
        }
    }
}
在C#中,^运算符是独占的或-因此不能与float&int一起使用

但看起来你想用它来提高一个值的幂,所以你想用


你希望“^”做什么?我想用幂来计算到期金额
^
是C#中的二进制异或运算符,而不是指数。您需要
Math.Pow()
。您需要使用Math.Pow^在编码语言中有一个全新的含义,^运算符是一个逻辑异或。如果你正在寻找一个指数运算符,没有一个-请看一下
Math.Pow
。非常感谢,先生!!我不知道你为什么被否决,但这个问题总是重复的。
 amt = pamt * Math.Pow((1 + roi / 100), years);