首页 > 解决方案 > 如何将整数位数组转换为整数值?

问题描述

我有一个键盘,用于将数字输入微控制器(atmega32 avr)。用户将能够输入 1、2 或 3 位数字,因为我定义的输入范围是 [0-999]。这些数字中的每一个都将存储在整数数组的位置中。

因此,如果我的数组被定义为并且int d[3]用户依次输入 2、6、9,我将拥有d[0] == 2和。现在我想从这些数字中制作一个整数:。我怎样才能做到这一点?d[1] == 6d[2] == 9{2, 6, 9}value == 269

标签: carraysstringintegerkeypad

解决方案


以下答案应适用于任何语言。这将相当简单,我建议您对数组中的值进行一些不同的格式化。我认为如果操作员输入一个个位数的数字存储它会更容易:{0, 0, 5}. 如果它是一个两位数的数字,则像这样存储它:{0, 5, 9}. 最后,如果操作员输入一个三位数的数字,则按如下方式存储:{5, 9, 2}.

最后,在格式化数组后,您可以使用以下逻辑来获取数字。例如,如果数组是,arr = {5, 9, 8};那么您可以执行以下操作以将其作为数字获取:

arr[0] * 100 + arr[1] * 10 + arr[2]

如果您遵循我上面给出的格式建议,那将起作用。


推荐阅读