OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "../../include/javascript/JavaScript.h" | 7 #include "../../include/javascript/JavaScript.h" |
8 #include "../../include/javascript/IJavaScript.h" | 8 #include "../../include/javascript/IJavaScript.h" |
9 #include "../../include/javascript/JS_Define.h" | 9 #include "../../include/javascript/JS_Define.h" |
10 #include "../../include/javascript/JS_Object.h" | 10 #include "../../include/javascript/JS_Object.h" |
(...skipping 1048 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1059 | 1059 |
1060 | 1060 |
1061 ////////////////////////////////////////////////////// | 1061 ////////////////////////////////////////////////////// |
1062 //for processing decimal places | 1062 //for processing decimal places |
1063 strValue.Replace(",", "."); | 1063 strValue.Replace(",", "."); |
1064 double dValue = atof(strValue); | 1064 double dValue = atof(strValue); |
1065 if (iDec > 0) | 1065 if (iDec > 0) |
1066 dValue += DOUBLE_CORRECT;// | 1066 dValue += DOUBLE_CORRECT;// |
1067 | 1067 |
1068 int iDec2; | 1068 int iDec2; |
1069 » FX_BOOL bNagative = FALSE; | 1069 » int iNegative = 0; |
1070 | 1070 |
1071 » strValue = fcvt(dValue,iDec,&iDec2,&bNagative); | 1071 » strValue = fcvt(dValue, iDec, &iDec2, &iNegative); |
1072 if (strValue.IsEmpty()) | 1072 if (strValue.IsEmpty()) |
1073 { | 1073 { |
1074 dValue = 0; | 1074 dValue = 0; |
1075 » » strValue = fcvt(dValue,iDec,&iDec2,&bNagative); | 1075 » » strValue = fcvt(dValue, iDec, &iDec2, &iNegative); |
1076 if (strValue.IsEmpty()) | 1076 if (strValue.IsEmpty()) |
1077 { | 1077 { |
1078 strValue = "0"; | 1078 strValue = "0"; |
1079 iDec2 = 1; | 1079 iDec2 = 1; |
1080 } | 1080 } |
1081 | 1081 |
1082 } | 1082 } |
1083 | 1083 |
1084 if (iDec2 < 0) | 1084 if (iDec2 < 0) |
1085 { | 1085 { |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1118 strValue.Insert(iDec2, '0'); | 1118 strValue.Insert(iDec2, '0'); |
1119 } | 1119 } |
1120 if (iSepStyle == 0 || iSepStyle == 2) | 1120 if (iSepStyle == 0 || iSepStyle == 2) |
1121 { | 1121 { |
1122 char cSeperator; | 1122 char cSeperator; |
1123 if (iSepStyle == 0) | 1123 if (iSepStyle == 0) |
1124 cSeperator = ','; | 1124 cSeperator = ','; |
1125 else | 1125 else |
1126 cSeperator = '.'; | 1126 cSeperator = '.'; |
1127 | 1127 |
1128 » » int iDecPositive,iDecNagative; | 1128 » » int iDecPositive,iDecNegative; |
1129 iDecPositive = iDec2; | 1129 iDecPositive = iDec2; |
1130 » » iDecNagative = iDec2; | 1130 » » iDecNegative = iDec2; |
1131 | 1131 |
1132 for (iDecPositive = iDec2 -3; iDecPositive > 0;iDecPositive -= 3
) | 1132 for (iDecPositive = iDec2 -3; iDecPositive > 0;iDecPositive -= 3
) |
1133 { | 1133 { |
1134 strValue.Insert(iDecPositive, cSeperator); | 1134 strValue.Insert(iDecPositive, cSeperator); |
1135 iMax++; | 1135 iMax++; |
1136 } | 1136 } |
1137 } | 1137 } |
1138 | 1138 |
1139 ////////////////////////////////////////////////////////////////////// | 1139 ////////////////////////////////////////////////////////////////////// |
1140 //for processing currency string | 1140 //for processing currency string |
1141 | 1141 |
1142 Value = CFX_WideString::FromLocal(strValue); | 1142 Value = CFX_WideString::FromLocal(strValue); |
1143 std::wstring strValue2 = Value.c_str(); | 1143 std::wstring strValue2 = Value.c_str(); |
1144 | 1144 |
1145 if (bCurrencyPrepend) | 1145 if (bCurrencyPrepend) |
1146 strValue2 = wstrCurrency + strValue2; | 1146 strValue2 = wstrCurrency + strValue2; |
1147 else | 1147 else |
1148 strValue2 = strValue2 + wstrCurrency; | 1148 strValue2 = strValue2 + wstrCurrency; |
1149 | 1149 |
1150 | 1150 |
1151 | 1151 |
1152 ////////////////////////////////////////////////////////////////////////
/ | 1152 ////////////////////////////////////////////////////////////////////////
/ |
1153 //for processing negative style | 1153 //for processing negative style |
1154 » if (bNagative) | 1154 » if (iNegative) |
1155 { | 1155 { |
1156 if (iNegStyle == 0) | 1156 if (iNegStyle == 0) |
1157 { | 1157 { |
1158 strValue2.insert(0,L"-"); | 1158 strValue2.insert(0,L"-"); |
1159 } | 1159 } |
1160 if (iNegStyle == 2 || iNegStyle == 3) | 1160 if (iNegStyle == 2 || iNegStyle == 3) |
1161 { | 1161 { |
1162 strValue2.insert(0,L"("); | 1162 strValue2.insert(0,L"("); |
1163 strValue2.insert(strValue2.length(),L")"); | 1163 strValue2.insert(strValue2.length(),L")"); |
1164 } | 1164 } |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1387 iSepStyle = 0; | 1387 iSepStyle = 0; |
1388 | 1388 |
1389 ////////////////////////////////////////////////////// | 1389 ////////////////////////////////////////////////////// |
1390 //for processing decimal places | 1390 //for processing decimal places |
1391 double dValue = atof(strValue); | 1391 double dValue = atof(strValue); |
1392 dValue *= 100; | 1392 dValue *= 100; |
1393 if (iDec > 0) | 1393 if (iDec > 0) |
1394 dValue += DOUBLE_CORRECT;//УÕý | 1394 dValue += DOUBLE_CORRECT;//УÕý |
1395 | 1395 |
1396 int iDec2; | 1396 int iDec2; |
1397 » FX_BOOL bNagative = FALSE; | 1397 » int iNegative = 0; |
1398 » strValue = fcvt(dValue,iDec,&iDec2,&bNagative); | 1398 » strValue = fcvt(dValue, iDec, &iDec2, &iNegative); |
1399 if (strValue.IsEmpty()) | 1399 if (strValue.IsEmpty()) |
1400 { | 1400 { |
1401 dValue = 0; | 1401 dValue = 0; |
1402 » » strValue = fcvt(dValue,iDec,&iDec2,&bNagative); | 1402 » » strValue = fcvt(dValue, iDec, &iDec2, &iNegative); |
1403 } | 1403 } |
1404 | 1404 |
1405 if (iDec2 < 0) | 1405 if (iDec2 < 0) |
1406 { | 1406 { |
1407 for (int iNum = 0; iNum < abs(iDec2); iNum++) | 1407 for (int iNum = 0; iNum < abs(iDec2); iNum++) |
1408 { | 1408 { |
1409 strValue = "0" + strValue; | 1409 strValue = "0" + strValue; |
1410 } | 1410 } |
1411 iDec2 = 0; | 1411 iDec2 = 0; |
1412 | 1412 |
(...skipping 26 matching lines...) Expand all Loading... |
1439 strValue.Insert(iDec2, '0'); | 1439 strValue.Insert(iDec2, '0'); |
1440 } | 1440 } |
1441 if (iSepStyle == 0 || iSepStyle == 2) | 1441 if (iSepStyle == 0 || iSepStyle == 2) |
1442 { | 1442 { |
1443 char cSeperator; | 1443 char cSeperator; |
1444 if (iSepStyle == 0) | 1444 if (iSepStyle == 0) |
1445 cSeperator = ','; | 1445 cSeperator = ','; |
1446 else | 1446 else |
1447 cSeperator = '.'; | 1447 cSeperator = '.'; |
1448 | 1448 |
1449 » » int iDecPositive,iDecNagative; | 1449 » » int iDecPositive,iDecNegative; |
1450 iDecPositive = iDec2; | 1450 iDecPositive = iDec2; |
1451 » » iDecNagative = iDec2; | 1451 » » iDecNegative = iDec2; |
1452 | 1452 |
1453 for (iDecPositive = iDec2 -3; iDecPositive > 0; iDecPositive -=
3) | 1453 for (iDecPositive = iDec2 -3; iDecPositive > 0; iDecPositive -=
3) |
1454 { | 1454 { |
1455 strValue.Insert(iDecPositive,cSeperator); | 1455 strValue.Insert(iDecPositive,cSeperator); |
1456 iMax++; | 1456 iMax++; |
1457 } | 1457 } |
1458 } | 1458 } |
1459 //////////////////////////////////////////////////////////////////// | 1459 //////////////////////////////////////////////////////////////////// |
1460 » //nagative mark | 1460 » //negative mark |
1461 » if(bNagative) | 1461 » if (iNegative) |
1462 strValue = "-" + strValue; | 1462 strValue = "-" + strValue; |
1463 strValue += "%"; | 1463 strValue += "%"; |
1464 Value = CFX_WideString::FromLocal(strValue); | 1464 Value = CFX_WideString::FromLocal(strValue); |
1465 #endif | 1465 #endif |
1466 return TRUE; | 1466 return TRUE; |
1467 } | 1467 } |
1468 //AFPercent_Keystroke(nDec, sepStyle) | 1468 //AFPercent_Keystroke(nDec, sepStyle) |
1469 FX_BOOL CJS_PublicMethods::AFPercent_Keystroke(IFXJS_Context* cc, const CJS_Para
meters& params, CJS_Value& vRet, CFX_WideString& sError) | 1469 FX_BOOL CJS_PublicMethods::AFPercent_Keystroke(IFXJS_Context* cc, const CJS_Para
meters& params, CJS_Value& vRet, CFX_WideString& sError) |
1470 { | 1470 { |
1471 return AFNumber_Keystroke(cc,params,vRet,sError); | 1471 return AFNumber_Keystroke(cc,params,vRet,sError); |
(...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2266 nums.SetElement(nIndex,CJS_Value(isolate,sPart.c_str())); | 2266 nums.SetElement(nIndex,CJS_Value(isolate,sPart.c_str())); |
2267 } | 2267 } |
2268 | 2268 |
2269 if (nums.GetLength() > 0) | 2269 if (nums.GetLength() > 0) |
2270 vRet = nums; | 2270 vRet = nums; |
2271 else | 2271 else |
2272 vRet.SetNull(); | 2272 vRet.SetNull(); |
2273 | 2273 |
2274 return TRUE; | 2274 return TRUE; |
2275 } | 2275 } |
OLD | NEW |