2014-07-25 38 views
-3

能有人告诉我我怎么可以这样拆分的双重价值: -分裂双重价值从文本到多个阵列

654782.690 

我能值分成这=

int i[0] = 65 
int i[1] = 4 
int i[2] = 7 
int i[3] = 8 
double i[4] = 2.690 

欣赏的答案。先谢谢你。

编辑***

我在我的XML中有UTM坐标值。我想制作图表,坐标值落入网格中。假设我有x1(578462.254),y1(648523.124)& x2(578481.452),y2(648474.156)的区域面积。在我的xml中,我有一个落在这个坐标下的数据点。我想要做的是使图表网格的前两位数字成为区域面积min和max(x,y)。

我希望我的澄清可以解释我想要处理这些数据。非常感谢你。

我得到的答案在这里: -

decimal dValue = 654782.690; 
string sValue = dValue.ToString(); 

decimal[] dArray = new decimal[5]; 
dArray[0] = Convert.ToDecimal(sValue.Substring(0, 2)); 
dArray[1] = Convert.ToDecimal(sValue.Substring(2, 1)); 
dArray[2] = Convert.ToDecimal(sValue.Substring(3, 1)); 
dArray[3] = Convert.ToDecimal(sValue.Substring(4, 1)); 
dArray[4] = Convert.ToDecimal(sValue.Substring(5)); 

它现在的工作!感谢您的支持来解决我的问题。 :)

+0

为什么第一个元素包含2位数。以及为什么最后一位有小数的数字不是存储在'double'数组中?顺便说一句,要么你可以创建数组为int或double。 – Shell

+0

这不是分裂,它是子串。 –

+1

最好问你想做什么而不是你想做什么?所以用户可以在任何地方出错都给出适当的建议。 – Shell

回答

0

如果您不存储科学价值,请使用decimal而不是double

decimal dValue = 654782.690M; 
string sValue = dValue.ToString(); 

deciaml[] dArray = new decimal[5]; 
dArray[0] = Convert.ToDecimal(sValue.Substring(0,2)); 
dArray[1] = Convert.ToDecimal(sValue.Substring(2,1)); 
dArray[2] = Convert.ToDecimal(sValue.Substring(3,1)); 
dArray[3] = Convert.ToDecimal(sValue.Substring(4,1)); 
dArray[4] = Convert.ToDecimal(sValue.Substring(5)); 

要使用的0阵列索引的值设定为3使用Convert.ToInt32()在int数据类型转换。

int iValue = Convert.ToInt32(dArray[0]); 

上面的例子没有编译它可能会给出错误。以这个例子为逻辑。

+0

它的工作。感谢您的帮助。我非常感谢你的回答。 – Momento