在Unity中使用C#进行Xml序列化时保留特定小数位的方法参考

embedded/2024/9/23 6:34:13/

序列化方法代码参考:

using System.IO;
using System.Xml.Serialization;public class XmlTool
{public static string ToXml<T>(T obj){XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));using var stringWriter = new StringWriter();//让xml文档的命名空间为空,文档显得简洁那么一点点。XmlSerializerNamespaces xmlns = new XmlSerializerNamespaces();xmlns.Add("","");//xmlSerializer.Serialize(stringWriter, obj, xmlns);return stringWriter.ToString();}public static T FromXml<T>(string xml){XmlSerializer xmlSerializer = new(typeof(T));return (T)xmlSerializer.Deserialize(new StringReader(xml));}
}

小数位数控制参考:

public struct SceneAreaInfo
{[XmlAttribute("X")]public string strX{get { return x.ToString("0.##"); }set { x = float.Parse(value); }}[XmlIgnore]public float x;//场景区域最左侧坐标[XmlAttribute("Y")]public string strY{get { return y.ToString("0.##"); }set { y = float.Parse(value); }}[XmlIgnore]public float y;//场景区域最下面坐标[XmlAttribute("Width")]public string strWidth{get { return width.ToString("0.##"); }set { width = float.Parse(value); }}[XmlIgnore]public float width;//场景区域宽度[XmlAttribute("Height")]public string strHeight{get { return height.ToString("0.##"); }set { height = float.Parse(value); }}[XmlIgnore]public float height;//场景区域高度[XmlIgnore]public Vector2 size => new Vector2(width, height);public SceneAreaInfo(float x, float y, float width, float height){this.x = x;this.y = y;this.width = width;this.height = height;}public SceneAreaInfo(Rect rect){x = rect.x;y = rect.y;width = rect.width;height = rect.height;}
}


http://www.ppmy.cn/embedded/103022.html

相关文章

Java开发工程师-匹配性岗位(借鉴性质)

1.匹配性质 技能迁移:Java开发工程师通常具备较强的编程能力、逻辑思维和问题解决能力,这些技能可以迁移到其他领域。行业选择:考虑目前行业趋势以及未来发展方向,Java工程师可以转向大数据、人工智能、云计算等等领域。个人兴趣与职业发展:转行时个人的兴趣和职业发展规划…

突发性网络攻击的安全挑战分析

“网络战争对 21 世纪的意义可能就如同闪电战对 20 世纪的意义一样”, 突发性网络攻击作为 网络战争的新兴形式&#xff0c;对于世界来说仍是国家安全领域的新问题&#xff0c;对网络安全治理带来了不可忽视 的严峻挑战。 第一&#xff0c;结合当下的战略背景&#xff0c;突…

流程控制(多重选择)

1. switch的字符串判断 a. 普通写法 b. 优化写法&#xff0c;表达式写法 2. switch的赋值 a. 普通写法 b. 优化写法&#xff0c;表达式写法 3. yield返回返回值 4. 总结 a. switch做多重选择&#xff0c;执行匹配的case语句内容。 b. 只能是整形&#xff0c;字符串或者…

Yolov10(yolov8代码里兼容版本)推理代码解析,抛去nms,大道至简

一、模型的输出头 下载官方的yolov8代码库https://github.com/ultralytics/ultralytics 打开ultralytics/nn/modules/head.py&#xff0c;主要需要看一下模型的输出头是如何做训练和预测推理。 v10检测头继承与常规的检测头Detect&#xff0c;初始化里重构了一下分类的输出头…

【Qt的TS文件转换器】利用Python实现自动化TS文件转换

TS 文件转换器 在开发多语言Qt应用时&#xff0c;管理和更新翻译文件是一项繁琐但必要的任务。这个工具旨在自动化Qt Linguist TS文件的转换过程&#xff0c;支持不同语言之间的转换&#xff0c;特别关注中文变体和其他语言。 目录 &#x1f30e;背景⭐特性&#x1f512;前提条…

鸿蒙Next 单元测试框架——hypium

一 框架概述 单元测试框架(hypium)是HarmonyOS上的测试框架&#xff0c;提供测试用例编写、执行、结果显示能力&#xff0c;用于测试系统或应用接口。 表1 单元测试框架功能特性 二 安装使用 目前hypium以npm包的形式发布, 因此需要在Deveco Studio 工程级package.json内配…

Python爬虫(一文通)

Python爬虫&#xff08;基本篇&#xff09; 一&#xff1a;静态页面爬取 Requests库的使用 1&#xff09;基本概念安装基本代码格式 应用领域&#xff1a;适合处理**静态页面数据和简单的 HTTP 请求响应**。 Requests库的讲解 含义&#xff1a;requests 库是 Python 中一个…

Encoding.UTF8是.NET 中用于处理UTF-8编码的标准编码类

Encoding.UTF8 是 .NET 中用于处理 UTF-8 编码的标准编码类。UTF-8 是一种可变长度的字符编码方案&#xff0c;它可以表示所有 Unicode 字符&#xff0c;并且与 ASCII 兼容。Encoding.UTF8 是 System.Text.Encoding 类的一个静态属性&#xff0c;提供了对 UTF-8 编码和解码的支…