VB.NET在整数的中间加0

VB.NET在整数的中间加0,vb.net,Vb.net,我有这个整数。A=100002个6位数字,我想在中间加上2个额外的0,所以它可以是一个8位的整数。 结果=10000002 我怎么做 您可以将数字分成左右两部分。然后在左边加上零,再放回右边 100002->100[左侧]002[右侧] Dim number As Integer = 100002 Dim rightSide As Integer = number Mod 1000 Dim leftSide As Integer = number - rightSide

我有这个整数。A=100002个6位数字,我想在中间加上2个额外的0,所以它可以是一个8位的整数。 结果=10000002


我怎么做

您可以将数字分成左右两部分。然后在左边加上零,再放回右边

100002->100[左侧]002[右侧]

    Dim number As Integer = 100002
    Dim rightSide As Integer = number Mod 1000
    Dim leftSide As Integer = number - rightSide

    leftSide *= 100 ' Add zeros

    Dim newNumber As Integer = leftSide + rightSide

有了这个,123456将变成12300456。

您可以将您的号码分成左右两部分。然后在左边加上零,再放回右边

100002->100[左侧]002[右侧]

    Dim number As Integer = 100002
    Dim rightSide As Integer = number Mod 1000
    Dim leftSide As Integer = number - rightSide

    leftSide *= 100 ' Add zeros

    Dim newNumber As Integer = leftSide + rightSide

有了这个,123456将变成12300456。

有很多不同的方法来回答这个问题,这意味着你的问题可能不够具体,无法得到你想要的答案。例如,_lotus的答案当然是正确的(也是更实际的解决方案)。但是,此解决方案还将以最简单的方式产生指定的结果,即减去2,乘以100,然后再加2:

Result = (A - 2) * 100 + 2

由于这两种截然不同的方法都能解决您提出的问题,因此您可能需要更仔细地提出问题。例如,如果您想处理100002以外的数字(您没有说过要处理),此解决方案当然不允许这样做。如果你想要一个适用于六位数以外的数字的解决方案,莲花的解决方案也不会在所有情况下都允许这样做。

有很多不同的方法来回答这个问题,这意味着你的问题可能不够具体,无法得到你想要的答案。例如,_lotus的答案当然是正确的(也是更实际的解决方案)。但是,此解决方案还将以最简单的方式产生指定的结果,即减去2,乘以100,然后再加2:

Result = (A - 2) * 100 + 2

由于这两种截然不同的方法都能解决您提出的问题,因此您可能需要更仔细地提出问题。例如,如果您想处理100002以外的数字(您没有说过要处理),此解决方案当然不允许这样做。如果您想要一个适用于六位数以外的数字的解决方案,那么莲花的解决方案也不会在所有情况下都允许这样做。

您是否总是需要在第3位添加2个
0
字符?首先要意识到的是,除非您要对其进行数学运算,否则它不一定是数字数据类型。您可以轻松地将其作为字符串处理,并使用字符串函数插入所需的任何字符。您是否始终需要在位置3处精确添加2个
0
字符?首先要了解的是,除非您要对其进行数学运算,否则它不必是数字数据类型。您可以轻松地将其作为字符串处理,并使用字符串函数插入您想要的任何字符。这是一种优雅的方法,无需将其转换为字符串并使用一些
字符串。
方法,这是我第一次想到的+1在不将其转换为字符串和使用一些
字符串的情况下执行此操作的有效方法。
方法,这是我首先想到的+1甚至:
((num-num Mod 100000)*100)+num Mod 100000
@parrishharn OP问题陈述的反复无常为富有想象力和多样性的解决方案提供了肥沃的土壤:甚至:
((num-num Mod 100000)*100)+num Mod 100000
@parrishhuman OP问题陈述的变幻莫测为富有想象力和多样性的解决方案提供了肥沃的土壤