Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: VB

Программирование VB

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: знаки препинания в числах
 
 автор: Кабан   (17.10.2008 в 13:54)   личное сообщение
 
   to: aiduna   (17.10.2008 в 12:56)
 

применяю вот такую функцию перед сохранением в базу.
и мне, получается, все равно - как настроены региональные установки у пользователя
пока нареканий не поступало.

'-- убирает лишние символы для сохранения числа в базе Oracle
Public Function Num4Ora(param)
    Dim rg As New RegExp
    On Error GoTo err12345
    Num4Ora = Null
    If nz(param, "") = "" Then Exit Function
    rg.Global = True
    rg.Pattern = "[^(0-9)|\-|\,|\.]": param = rg.Replace(param, "")
    rg.Pattern = "\,": param = rg.Replace(param, ".")
    Num4Ora = param
    Exit Function
err12345:
    MsgBox Error, vbExclamation, "Num4Ora #" & Err.Number
    Exit Function
End Function

в References нужно подключить Microsoft VBScript Regular Expressions (у меня 5.5)

  Ответить  
 
 автор: aiduna   (17.10.2008 в 12:56)   личное сообщение
 
   to: Кабан   (13.10.2008 в 13:10)
 

У меня в программе в текстбоксе число указывается с десятичным разделителем как точка, и у кого в региональных установках разделитель установлен как запятая программа выдает ошибку. Поэтому желательно программно мне определить это и если необходимо программно изменить региональные настройки. Заранее спасибо.

  Ответить  
 
 автор: Кабан   (13.10.2008 в 13:10)   личное сообщение
 
   to: aiduna   (10.10.2008 в 21:48)
 

это не знак препинания, а - разделитель целой и дробной части

19 Ошибки при замене десятичного разделителя
http://vbrussian.com/Article.asp?ID=29#trc19

и вот ещё
http://www.sql.ru/forum/actualthread.aspx?tid=257713

да и много вообще всего

  Ответить  
 
 автор: Мюллер   (13.10.2008 в 11:08)   личное сообщение
 
   to: ДрЮня   (11.10.2008 в 10:14)
 

Replace(me.Поле.Value, ",", "."
Заменит запятые на точки.
Аналогично можно заменять любые символы

  Ответить  
 
 автор: ДрЮня   (11.10.2008 в 10:14)   личное сообщение
 
   to: aiduna   (10.10.2008 в 21:48)
 

что в Вашем понимании определить?
можно настроить в региональных настройках, как ручками, так и программно
поищите здесь на сайте про региональные настройки.

  Ответить  
 
 автор: aiduna   (10.10.2008 в 21:48)   личное сообщение
 
 

как программно определить знак препинания и при необходимости изменить

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList