Rust 如果声明未满足,即使它应该满足

Rust 如果声明未满足,即使它应该满足,rust,Rust,我正在用铁锈做一个加班工资计算器。我有以下代码: let overhours = 40; let overhoursFLOAT = overhours as f32; if calcpay > overhours{ println!("You worked more than 40 hours!"); let overmath = floathours - overhoursFLOAT as f32; println!("You worked {} extra

我正在用铁锈做一个加班工资计算器。我有以下代码:

let overhours = 40;
let overhoursFLOAT = overhours as f32;

if calcpay > overhours{
    println!("You worked more than 40 hours!");
    let overmath = floathours - overhoursFLOAT as f32; 
    println!("You worked {} extra hours.",overmath);
    let overpay = overmath * 1.5;
    floatpay = floatpay + overpay;
}
else{println!("You did not work more than 40 hours. Therefore, your overtime pay will not be calculated.");}
每次我运行它时,我输入的小时数(我做10小时)都在40小时以下,并且if语句代码无论如何都会运行。结果是这样的:

How much do you get paid per hour?: 9
Hourly pay: 9
How much did you work?: 10
Hourly pay: 9
Hours worked: 10
Your calculated pay is $90
You worked more than 40 hours!
You worked -30 extra hours.

我是否使用了错误的运算符?如何解决此问题?

您将calcpay与overhours进行比较,calcpay等于90。我想你想要的是将加班时间与工作时间进行比较