c# - 如何从 Autodesk.AutoCAD.Geometry.Point3d 获取 FormatProvider
问题描述
我有一些 Point3d 作为文本存储在DataGridView
单元格中。
Autodesk.AutoCAD.Geometry.Point3d px = new Point3d ( 100.0 , 123.0 , 0.0); // for example
row.Cells["IDS_ReferenePoint"].Value = px.ToString();
所以我有价值:"(100.0,123.0,0.0)"
现在我需要反转该操作 - 从DataGridView
单元格中读取该点并转换为Point3d
对象。所以我可以通过 remove 来做到这一点,(
通过)
分隔列符号来拆分文本,,
并将每个坐标解析为加倍。
但我担心在其他具有不同语言设置的 PC,
上将是小数位分隔符,例如[SPACE]
是坐标分隔符。
有没有一种简单的方法来FormatProvider
默认使用Point3d.ToString()
?取决于用户 PC 配置?
解决方案
据我所知,Point3d
格式与 Windows 小数分隔符无关。我曾经使用法语版本的 AutoCAD,无论 Windows 设置如何,AutoCAD 的小数分隔符都是点(逗号是法语版本的默认 Windows 小数分隔符)。逗号是 AutoCAD 点、向量、矩阵的坐标分隔符。
所以,我认为你不必关心Point3d.ToString()
无论文化版本总是相同的格式。
推荐阅读
- reporting-services - 2020 年下载的 Report builder 3.0 需要针对 ssrs 2014
- javascript - Javascript:从逗号分隔的数字字符串中删除引号
- javascript - 如何从响应 Cookie 中读取值?
- karate - 在空手道的 JS 函数中调用带有参数的功能
- javascript - 在点击事件上使用时模式不起作用
- javascript - 使用 html javascript 截取并保存屏幕截图
- visual-studio - 如何在 Visual Studio Code 中从 Stackoverflow 构建项目作为 Windows 程序
- python - 如何使用递归查找加到 10 的数字
- regex - 正则表达式免除前缀匹配
- java - 使用 Poi 和 java 在电子表格中编写