【发布时间】:2011-07-11 11:22:09
【问题描述】:
在一个数学应用程序中,我有一个 OO-System 对象,它代表一个长方体,如下所示:
In[27]:= oscg@getItem[11]@getObject[]
Out[27]= {"GE", {"CB", {{3., 0., 3.}, 0.9}}, {0.3}}
我使用以下方法将此对象传输到 Xml:
In[28]:= oscg@getItem[11]@toXml[]
Out[28]= XMLElement["cuboid", {"point" -> "{3., 0., 3.}",
"diameter" -> "9
--
10", "hue" -> "0.3"}, {}]
我会在这里期待:
XMLElement["cuboid", {"point" -> "{3., 0., 3.}", "diameter" -> "0.9", "hue" -> "0.3"}, {}]
方法代码如下:
toXml[]:= Module[
{ret,
p=getPoint[] + getColref[]@absPoint[getMe[]],
d=getDiameter[],
h=getHue[]},
ret=XMLElement["cuboid",{"point"->ToString[p], "diameter"->ToString[d],
"hue"->ToString[h]}, {}];
ret
];
问题是 0.9 变成了 9 -- 10。
我想到了格式问题,但色调很好地输出为 0.3。 (在读取 Xml 并将其解析回对象创建代码的阶段,问题变得至关重要。)
问题:
这可能是格式、显示问题吗? (我在 Mathematica 中不太熟悉的一个主题。)关于如何解决这个问题的任何想法?
【问题讨论】: