将字符串转换为int问题

时间:2019-04-26 14:26:13

标签: c++ string int ascii

所以我设法将字符串转换为int。但是,在代码#1中,当我尝试将其分配给数组的第一个插槽并打印出来时,它会打印'<'。为什么这样做呢?我知道这与ASCII字符有关。代码2打印出我想要的int 60。

   public class Imbarco
   {
       [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
       public int ImbarcoID { get; set; }

       [InverseProperty("Imbarco")]
       public virtual ICollection<Barca> Barche { get; set; }
       [InverseProperty("ImbarcoBase")]
       public virtual ICollection<Barca> BaseBarche { get; set; }
    }

我想让price [0]等于整数60,而不是char'<'。谢谢!

编辑:已解决,感谢大家的帮助。菜鸟,抱歉!

2 个答案:

答案 0 :(得分:1)

这是因为您的price定义:

string price[14];

-您已将其定义为由14个字符串组成的数组,并尝试为该数组(price[0])中的第一个字符串分配一个数值(从字符串的角度来看是虚假的)。

将价格定义为int price[14]后,您将获得期望的价格

答案 1 :(得分:0)

price需要定义为整数数组。当您尝试将整数值60存储在price中时,它会隐式转换为(char)60,即ASCII表上的<