2017-02-08 11 views
0

Я собираю данные из таблицы Excel и хочу отформатировать ее определенным образом, прежде чем я сохраню ее как строку.Номер формата с двумя десятичными знаками, но без разделителя тысяч

Форматирование первенствовать ячейки иметь 2 знака после запятой - пример стоимости является:

283,323.20 

Это, как я хватаю значение:

Dim HoldValue as String 
If Not ([String].IsNullOrEmpty(CStr(excel.Cells(Row, Column).Value)) Or CStr(excel.Cells(Row, Column).Value) = "") Then 
    HoldValue = CStr(excel.Cells(Row, Column).Value) 
End If 

Однако, делая это этот путь избавляется от последних 0, поэтому число выглядит следующим образом: это почти то, что я хочу:

283323.2 

Я попробовал чтобы сделать что-то вроде:

Dim HoldDecValue As Decimal= CDEC(excel.Cells(Row, Column).Value) 

и:

Holdvalue = HoldDecValue.ToString("N2") 

, что делает его выглядеть следующим образом:

283,323.20 

, но моя цель состоит в том, чтобы сделать его выглядеть следующим образом:

283323.20 
+3

[Стандартный числовой формат строки] (https://msdn.microsoft.com/en-us/library/dwhawy9k (v = vs.110) .aspx # FFormatString) – Plutonix

+0

Dim HoldTotal_SPEND As Double = CDbl (excel.Cells (строка, столбец). Значение) strHoldTOTAL = (HoldTotal.ToString ("F")) Это сделало это @plutonix спасибо – BobSki

ответ

0

С предложением от Plutonix - I был в состоянии сделать это ...

Dim HoldTotal_SPEND As Double = CDbl(excel.Cells(Row, Column).Value) strHoldTOTAL = (HoldTotal.ToString("F"))