Установка указателя на NULL до и после использования является хорошей техникой. Это легко сделать в C ++, если вы управляете указателями внутри класса, например (строка):
class SomeClass
{
public:
SomeClass();
~SomeClass();
void SetText( const char *text);
char *GetText() const { return MyText; }
void Clear();
private:
char * MyText;
};
SomeClass::SomeClass()
{
MyText = NULL;
}
SomeClass::~SomeClass()
{
Clear();
}
void SomeClass::Clear()
{
if (MyText)
free( MyText);
MyText = NULL;
}
void SomeClass::Settext( const char *text)
{
Clear();
MyText = malloc( strlen(text));
if (MyText)
strcpy( MyText, text);
}
Вы можете использовать:
String.Format("{0:0.00}",value);
На основе MSDN вы должны быть в состоянии выразить маску формата во время вызова на DataBinder.Eval
.
http://msdn.microsoft.com/en-us/library/2d76z3ck%28VS.90%29.aspx
Так что по сути вы должны быть в состоянии сделать это - и заставить только 2 десятичных знака, чтобы показать:
<%# DataBinder.Eval(Container.DataItem, "pricerange", "{0:##0.00}")%>
Попробуйте не вызывать ToString()
на выходе метода Eval
- вы не можете отформатировать строку со строками форматирования чисел.