ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   dot / comma and string to double conversion (https://www.excelbanter.com/excel-programming/351840-dot-comma-string-double-conversion.html)

snaggy^^

dot / comma and string to double conversion
 
I'm italian and we use the comma "," for decimal (es: 123,14‚¬). So excel
works with commas, but for other reason I need to input the data in the user
form with the dot (123.45‚¬). I've written a function to convert this input to
letters (CENTOVENTITRE/45, in italian of course) but it does work only if I
use the comma.

here it is:
Function EURO_TO_ITALIAN(ByVal N As String) As String

Dim TheInteger As Long
TheInteger = n
If TheInteger n Then TheInteger = TheInteger - 1
Dim TheRest As Long
TheRest = (n - TheInteger) * 100
If TheRest < 10 Then
EURO_TO_ITALIAN = INTEGER_TO_ITALIAN(TheInteger) & "/0" & TheRest
ElseIf TheRest = 10 Then
EURO_TO_ITALIAN = INTEGER_TO_ITALIAN(TheInteger) & "/" & TheRest
End If

End Function

euro_to_italian is the function that writes the letters, and that one uses
only integers (long) so has no problem

Do you have any solution? Maybe a way to substitute the dot with a comma in
the string variable would work fine.

bye

Toppers

dot / comma and string to double conversion
 


N = Replace(N, ",", ".")
TheInteger = N

"snaggy^^" wrote:

I'm italian and we use the comma "," for decimal (es: 123,14‚¬). So excel
works with commas, but for other reason I need to input the data in the user
form with the dot (123.45‚¬). I've written a function to convert this input to
letters (CENTOVENTITRE/45, in italian of course) but it does work only if I
use the comma.

here it is:
Function EURO_TO_ITALIAN(ByVal N As String) As String

Dim TheInteger As Long
TheInteger = n
If TheInteger n Then TheInteger = TheInteger - 1
Dim TheRest As Long
TheRest = (n - TheInteger) * 100
If TheRest < 10 Then
EURO_TO_ITALIAN = INTEGER_TO_ITALIAN(TheInteger) & "/0" & TheRest
ElseIf TheRest = 10 Then
EURO_TO_ITALIAN = INTEGER_TO_ITALIAN(TheInteger) & "/" & TheRest
End If

End Function

euro_to_italian is the function that writes the letters, and that one uses
only integers (long) so has no problem

Do you have any solution? Maybe a way to substitute the dot with a comma in
the string variable would work fine.

bye


snaggy^^

dot / comma and string to double conversion
 
What a fantastic command!! Thank you so much, i really needed this one
becouse i'm gonna give my program in 2 hours!
thanks


All times are GMT +1. The time now is 06:59 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com