私はBOL番号を計算し、最初の10桁だけを取る関数を持っています。この計算では小数点はどこですか?
ここにコードがあります。
Public Function GENERATEBOLNUMBER(iYearSuffix As Integer, _
sFromZipcode As String, _
sToZipCode As String, _
iWeight As Integer, _
iShowID As Integer) As String
Application.ScreenUpdating = False
GENERATEBOLNUMBER = VBA.Left(7 & _
WorksheetFunction.RoundUp(VBA.Right(sFromZipcode, 5) _
* VBA.Right(sToZipCode, 5) * iWeight * (iShowID + 1234), 0), 10)
Application.ScreenUpdating = True
End Function
ここに私が渡している値があります。 iYearSuffixは7、sFromZipcodeは78224、sToZipCodeは78224、iWeightは410、iShowIDは1です。これは3098352701017600と計算されるので、最後の文字列は7309835270でなければなりません。これは7桁目と7桁目の9桁です。
どこから来た小数はありますか?私が得ている答えは:73.0983527です。
あなたは書式設定を確認しましたこのコードに取り込まれている各セルに?私が考えることができるのは、あなたが意図していない7オーダーで、1未満と見なされる値を引っ張っているということです。 – Cyril
数値がExcelで大きくなりすぎると科学的な表記法に切り替わりますので、おそらく3.0983527E + 10かそのようなものでしょう –
とにかくそれを科学的に変換するには?私はExcelの数式と同じ数式を使用する場合、私は私のカスタム関数を使用するまでそれが間違って行うまで、それは正しいと計算されます。 –