c# - 错误 CS0664:对于非数字文本,无法将 double 类型的文字隐式转换为“float”类型
问题描述
对于看似随机的代码行,我收到“错误 CS0664:无法将 double 类型的文字隐式转换为“float”类型。详细地说,第 17 行出现了错误。当我删除它时,第 16 行得到错误,第 15 行得到错误,依此类推。
using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Terraria;
using Terraria.ID;
using Terraria.ModLoader;
namespace TutorialMod.Projectiles {
public class SwordProjectile : ModProjectile {
public override void SetDefaults() {
projectile.width = 40;
projectile.height = 1;
projectile.friendly = true;
projectile.melee = true;
projectile.tileCollide = true;//15
projectile.penetrate = 2;//16
projectile.timeLeft = 100;//17
projectile.light = 0.75;
projectile.extraUpdates = 1;
projectile.ignoreWater = true;
}
public override void AI() {
projectile.rotation = (float)Math.Atan2((double)projectile.velocity.Y, (double)projectile.velocity.X) + 1.75f;
}
}
}
解决方案
改变
projectile.light = 0.75;
到
projectile.light = 0.75f;
.
这样你就告诉编译器它是一个float
值。不带后缀字符意味着它是一个double
,这就是你得到这个错误的时候。
推荐阅读
- quire-api - “导出项目” Quire API 文档
- git - 使用 Hugo 框架为不同的分支部署 GitLab 页面?
- python - 如何修复不和谐机器人中的“事件循环已关闭”
- python - Groupby 和过滤数据集
- django - Django ManytoManyfields错误`AttributeError:'ManyRelatedManager'对象没有属性'dev_id'`
- typescript - TypeError:无法读取未定义的属性“符号”[JWT / Nestjs / e2e 测试]
- asp.net - 从 DevOps 安排多个 Web 作业的最简单方法
- forms - Xamarin 表单 SQLite SingleOrDefaultAsync
- python - 如何在无符号 dtypes 中将负值强制为 0?
- twilio - twilio 没有收到来自网站的消息