Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
Public Function GetFormatedValue(ByVal columnName As String, ByVal value As Object) As String
Dim result As String = value.ToString()
Dim vint As Integer
If (TypeOf value Is Decimal) Then
vint = CType(CType(value, Decimal), Integer)
ElseIf (TypeOf value Is Integer) Then
vint = CType(value, Integer)
Else
vint = CType(Decimal.Parse(value.ToString(), System.Globalization.CultureInfo.InvariantCulture), Integer)
End If
Dim stringValue = ConvertStringToInt(value)
Select Case foundedColumn.Format
Case "3"
result = String.Format("${0}M", GetSplitValue(CType(CType(stringValue, Integer) / 1000000, Integer)))
Case "2"
result = String.Format("${0}K", GetSplitValue(CType(CType(stringValue, Integer) / 1000, Integer)))
Case "1"
result = String.Format("${0}", GetSplitValue(vint))
End Select
Return result
End Function
Private Function ConvertStringToInt(ByVal value As Object) As String
Return CType(value, String).Replace(",", String.Empty).Replace(".", String.Empty).Replace(" ", String.Empty)
End Function
Сначало падал exception на 9 строчке, т.к. не была указана культура, вообще.
После того как указали культуру, все, через кейс на 20 строчке, проходило успешно
Далее, когда изменился формат, для правильной конверсии закодили функцию ConvertStringToInt (line 25)
#include<stdio.h>
int main(void)
{
int a=10000,b=0,c=2800,d,e=0,f[2801],g;FILE *fo;
if (!(fo=fopen("C:\\out","w"))) return 1;
for (;b-c;) f[b++]=a/5;
for(;d=0,g=c*2;c-=14,fprintf(fo,"%.4d",e+d/a),e=d%a)
for(b=c;d+=f[b]*a, f[b]=d%--g,d/=g--,--b;d*=b);
}