如何删除小数但保留数字的值

时间:2019-03-29 14:59:57

标签: excel vba

我需要将“ 342.21”转换为带有多个前导零的34221。预期的最终结果将是0000000000034221。我应该在vba中使用哪种特定的格式或代码来获取此信息?

我正在尝试使用vba将excel文件转换为文本文件。最终结果的字段长度固定为16位,“数字列”的长度可能有所不同。希望你能帮助我。

非常感谢您。

5 个答案:

答案 0 :(得分:3)

您提到一个字符串:

=RIGHT("0000000000000000"&SUBSTITUTE(B1,".",""),16)

将生成一个字符串,该字符串将在0 s中导出到csv中

答案 1 :(得分:2)

使用

ActiveSheet.Range("A1").NumberFormat = "@"
ActiveSheet.Range("A1").Value = Format(ActiveSheet.Range("A1").Value * 100,"0000000000000000")

答案 2 :(得分:2)

由于您要转换为字符串,因此我们可以将您的数字值视为字符串。

假设您的电话号码存储在变量num中:

outputnumber = String(16 - (Len(num) - 1), "0") & Replace(num, ".", "")

答案 3 :(得分:1)

您可以使用“自定义格式”类型:0000000000000000(即16个零)

然后在单元格中,假设=A1*100A1,可以进行342.21

enter image description here

(编辑:对不起,错过了VBA标记。上面的内容不使用VBA)。

答案 4 :(得分:0)

所以我尝试了一个简化的代码:

    Amount = (.Cells(iRow,6)) - where I store my values
    Amount = Format(Amount*100, "0000000000000000")

非常感谢您的帮助! :)