Необходимо удалить запятую в числе в моем динамически сгенерированном классическом сайте ASP - PullRequest
0 голосов
/ 15 декабря 2018

У меня есть старый сайт, который использует классический ASP.У меня проблема в том, что всякий раз, когда я отображаю цену, если она превышает 1000,00 фунтов стерлингов, она отображается с запятой, то есть 1 000,00 фунтов стерлингов.

Как заставить ее удалить или не использовать запятую?

Мой скрипт подключения:

<% 
                        Set adoCon = Server.CreateObject("ADODB.connection")' initialize connection
                        Set rs = Server.CreateObject("ADODB.RecordSet")' initialize record set
                        adoCon.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("stockdetails.mdb")

                        strSQL = "SELECT * FROM StockDetails WHERE ID=" &trim(pro_type)&""
                        rs.open strSQL,adoCon,1,1  'open record set
                        if not rs.eof then

                        manufacturerid=rs("ManufacturerID")
                        manufacturer=rs("Manufacturer")
                        price=FormatNumber(rs("Price") ,2)


                        else
                        response.End()end if

                        rs.close
                        adoCon.close
                    %>

Код, используемый для перетаскивания цены на страницу:

<% = price %>

Даже если я изменю все поля цен в базе данных наотображать без запятой, они все еще показываются на сайте с одним.

Как мне от него избавиться?

Заранее большое спасибо.

Ян

Ответы [ 3 ]

0 голосов
/ 15 декабря 2018

Запятая не приходит из базы данных.Он помещается сюда функцией «FormatNumber», которую вы вызываете после восстановления данных из базы данных:

price=FormatNumber(rs("Price") ,2)

Если вам вообще не нужно форматирование, вы можете просто удалить вызов FormatNumber:

price=rs("Price")

Но если вы хотите сохранить контроль над количеством цифр, вам нужен FormatNumber.По умолчанию FormatNumber использует региональные настройки вашего компьютера: в вашем случае это приводит к использованию запятой в качестве разделителя тысяч.Это можно изменить, передав больше аргументов функции:

price=FormatNumber(rs("Price") ,2,,,0)

См. Формат FormatNumber docs .

0 голосов
/ 18 декабря 2018

Лично я сохраняю значение «monies» как число, а затем просто умножаю его на 100, когда мне нужно отобразить его.Я считаю, что полоса платежной компании делает то же самое.Это позволяет избежать проблем с форматированием.

0 голосов
/ 15 декабря 2018

Я увидел ответ, как только нажал кнопку «Отправить» ...

Так что это часть сценария подключения:

price=FormatNumber(rs("Price") ,2)

Все, что я сделал, это изменил код на:

price=rs("Price")

И это прекрасно работает.

Д'Ох!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...