You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#如何将TXT读取的字符串转为float用于RageMP坐标参数

问题排查与修复方案

核心问题1:区域文化适配错误

C#默认float.Parse方法会读取当前系统的区域设置解析数值,如果你的系统默认小数点分隔符不是.,会把坐标中的.识别为无效字符,直接抛出格式解析异常。

核心问题2:容错处理缺失

如果TXT文件存在空行、行首尾有空白字符、行格式不符合要求的情况,会直接触发数组越界、格式错误等异常。

修正后可用代码

using System.IO;
using System.Globalization;

// 固定使用英文区域规则解析,保证小数点识别正常
CultureInfo enCulture = CultureInfo.GetCultureInfo("en-US");

foreach (string line in File.ReadLines(@"/RAGEMP/server-files/blips/hospital/hospitalcords.txt"))
{
    // 跳过空行
    if(string.IsNullOrWhiteSpace(line)) continue;
    
    string[] split = line.Split(',');
    // 校验拆分后正好有3个坐标值,过滤格式错误的行
    if(split.Length != 3) continue;
    
    // 每个值先去除前后空白字符,再按固定规则解析
    float x = float.Parse(split[0].Trim(), enCulture);
    float y = float.Parse(split[1].Trim(), enCulture);
    float z = float.Parse(split[2].Trim(), enCulture);
    
    Blip Hospital = NAPI.Blip.CreateBlip(153, new Vector3(x, y, z), 0.5f, 1, "Hospital");
    NAPI.Blip.SetBlipShortRange(Hospital, true);
}

额外校验项

  • 确认TXT文件编码为UTF-8,避免不可见乱码导致解析失败
  • 确认文件路径和服务器启动的工作目录匹配,避免找不到文件的异常

内容的提问来源于stack exchange,提问作者Nintenz0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 14:24:05