void XLinuxIntlMgr::FormatNumber(const VValueSingle& inValue, VString& outNumber) const
{
	double val=inValue.GetReal();	//(from mac code)

	UErrorCode err=U_ZERO_ERROR;
	NumberFormat* numberFmt=NumberFormat::createPercentInstance(fLocale, err);
	xbox_assert(err==U_ZERO_ERROR);

	if(numberFmt!=NULL)
	{
		icu::UnicodeString tmpNumber;
		numberFmt->format(val, tmpNumber);

		outNumber=VString(tmpNumber.getTerminatedBuffer());
	}
}
Exemplo n.º 2
0
JS4D::ValueRef JS4D::VValueToValue( ContextRef inContext, const VValueSingle& inValue, ValueRef *outException)
{
	ValueRef jsValue;
	switch( inValue.GetValueKind())
	{
		case VK_BYTE:
		case VK_WORD:
		case VK_LONG:
		case VK_LONG8:
		case VK_REAL:
		case VK_FLOAT:
		case VK_SUBTABLE_KEY:
			jsValue = inValue.IsNull() ? JSValueMakeNull( inContext) : JSValueMakeNumber( inContext, inValue.GetReal());
			break;

		case VK_BOOLEAN:
			jsValue = inValue.IsNull() ? JSValueMakeNull( inContext) : JSValueMakeBoolean( inContext, inValue.GetBoolean() != 0);
			break;
			
		case VK_UUID:
			if (inValue.IsNull())
				jsValue = JSValueMakeNull( inContext) ;
			else
			{
				VString tempS;
				inValue.GetString(tempS);
				jsValue = VStringToValue( inContext, tempS);
			}
			break;
		
		case VK_TEXT:
		case VK_STRING:
#if VERSIONDEBUG
			jsValue = VStringToValue( inContext, dynamic_cast<const VString&>( inValue));
#else
			jsValue = VStringToValue( inContext, (const VString&)( inValue));
#endif
			break;
		
		case VK_TIME:
#if VERSIONDEBUG
			jsValue = inValue.IsNull() ? JSValueMakeNull( inContext) : VTimeToObject( inContext, dynamic_cast<const VTime&>( inValue), outException);
#else
			jsValue = inValue.IsNull() ? JSValueMakeNull( inContext) : VTimeToObject( inContext, (const VTime&)( inValue), outException);
#endif
			break;
		
		case VK_DURATION:
#if VERSIONDEBUG
			jsValue = VDurationToValue( inContext, dynamic_cast<const VDuration&>( inValue));
#else
			jsValue = VDurationToValue( inContext, (const VDuration&)( inValue));
#endif
			break;

		case VK_BLOB:
			jsValue = VBlobToValue( inContext, (const VBlob&)( inValue));
			break;

		case VK_IMAGE:
#if !VERSION_LINUX  // Postponed Linux Implementation !
			jsValue = VPictureToValue(inContext, (const VPicture&)( inValue));
#endif
			break;

		default:
			jsValue = JSValueMakeUndefined( inContext);	// exception instead ?
			break;
	}

	return jsValue;
}