7#include "core/fpdfapi/parser/cpdf_number.h"
11#include "core/fpdfapi/edit/cpdf_contentstream_write_utils.h"
12#include "core/fxcrt/fx_stream.h"
13#include "core/fxcrt/fx_string_wrappers.h"
18 fxcrt::ostringstream sstream;
19 WriteFloat(sstream, value);
25CPDF_Number::CPDF_Number() =
default;
27CPDF_Number::CPDF_Number(
int value) : number_(value) {}
29CPDF_Number::CPDF_Number(
float value) : number_(value) {}
40 return number_.IsInteger()
41 ? pdfium::MakeRetain<CPDF_Number>(number_.GetSigned())
42 : pdfium::MakeRetain<CPDF_Number>(number_.GetFloat());
46 return number_.GetFloat();
50 return number_.GetSigned();
58 number_ = FX_Number(str.AsStringView());
62 return number_.IsInteger() ? ByteString::FormatInteger(number_.GetSigned())
63 : FloatToString(GetNumber());
fxcrt::ByteString ByteString
bool WriteTo(IFX_ArchiveStream *archive, const CPDF_Encryptor *encryptor) const override
float GetNumber() const override
int GetInteger() const override
RetainPtr< CPDF_Object > Clone() const override
void SetString(const ByteString &str) override
ByteString GetString() const override
CPDF_Number * AsMutableNumber() override
Type GetType() const override
bool WriteString(ByteStringView str)
fxcrt::ByteStringView ByteStringView