当前位置: 首页 > article >正文

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

序列化方法代码参考:

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.kler.cn/a/282292.html

相关文章:

  • UNI-APP小程序答题功能开发(左右滑动,判断,填空,问答,答题卡,纠错,做题倒计时等)
  • PCB+SMT线上报价系统+PCB生产ERP系统自动化拼板模块升级
  • django解决跨域问题
  • Prometheus面试内容整理-生态系统和集成
  • Notepad++的完美替代
  • 算法沉淀一:双指针
  • 8/28工作笔记
  • 部署KVM虚拟化平台
  • 【No module named ‘pcapy‘】报错解决方法
  • Xline v0.7.0: 一个用于元数据管理的分布式KV存储
  • Qt与Python
  • SpringMVC 笔记篇
  • Unity 贴图拷贝与性能对比
  • 【SpringCloud Alibaba】(八)学习 Sentinel 核心技术与配置规则(下)
  • Spring的单例模式
  • C# list根据动态字段排序
  • 【目标检测】YOLOV2
  • 信息安全(密码学)---数字证书、kpi体系结构、密钥管理、安全协议、密码学安全应用
  • 基于my Batis优化图书管理系统(二)
  • MySQL笔记(大斌)
  • linux-centos7 服务器上redis服务已经启动,但是宿主机无法访问,报错:connect timeout
  • MT5016A-ASEMI无人机专用整流桥MT5016A
  • 鸿蒙上架流程
  • 【WPF】WPF学习路线
  • Python-MNE-源空间和正模型03:自动源配准的方法
  • 鸿蒙开发入门day15-焦点事件