2013-07-22 1 views
1

Я извлекаю данные из данных таблицы SQL Server uding ADO.SQL Server/ADO/формат денег и преобразования запятой

Ok У меня есть данные денежные форматы, но внутренне мой массив использует значения с плавающей точкой (на самом деле я могу сделать правильные математические операции ...)

То есть, у меня есть что-то вроде: (псевдокод)

my_array(pos)= rs.fields("money_field") (retrieving data) 
my_array(pos)*=0.87 (a 87 % discount). (modify) 
rs.fields("money_field")= my_array(pos); update; (updating data) 

Когда я хочу, чтобы обновить данные из моих набора записей ADO в SQL Server, значение с плавающей точкой (я имею точку в качестве разделителя (VB)) был изменен в SQL Server к числу, умноженному на 100.

денег данные имеют (2 десятичных знака).

Как я могу конвертировать или что мне делать, чтобы обновлять правильные значения? (от ADO конечно ....)

Любая помощь? Я почти закончил свое приложение, это последний вопрос.

Благодаря

+0

Вы используете деньги в дб и преобразовать его в плавает в вашем приложении? Давай. Вы когда-нибудь пробовали печально известный 2-sqrt (2) * sqrt (2)? Пожалуйста, ради себя, не делайте этого. – OzrenTkalcecKrznaric

+0

мм. Я могу следить за любыми советами ... Я использую значения для вычисления некоторых статистических данных ... И у меня нет формата monney в VB ... – tperez

+0

У вас нет что-то вроде десятичного или числового в обычном старом VB? – OzrenTkalcecKrznaric

ответ

0

если вы конвертируете его в SQL-сервер .. Таким образом, вы можете сделать это.

PARSENAME(CONVERT(VARCHAR,CAST(amount) AS MONEY),1),2) 

EX: Сумма = 10000

Результат будет 10000