فهرست منبع

feat: 浮点数输出使用%g格式符

SongZihuan 4 سال پیش
والد
کامیت
d32887d6af
3فایلهای تغییر یافته به همراه3 افزوده شده و 3 حذف شده
  1. 1 1
      vmcore/ofunc/src/vobject.c
  2. 1 1
      vmcore/src/__run.c
  3. 1 1
      vmcore/src/value.c

+ 1 - 1
vmcore/ofunc/src/vobject.c

@@ -408,7 +408,7 @@ ResultType vobject_repo(O_FUNC){
         case V_dou: {
             char str[30] = { NUL };
             if (value->data.dou.num != 0)
-                snprintf(str, 30, "%Lf", value->data.dou.num);
+                snprintf(str, 30, "%Lg", value->data.dou.num);
             else
                 str[0] = '0';
             repo = memStrToWcs(str, false);

+ 1 - 1
vmcore/src/__run.c

@@ -73,7 +73,7 @@ wchar_t *setIntVarName(vint num, struct Inter *inter) {
 
 wchar_t *setDouVarName(vdou num, struct Inter *inter) {
     wchar_t name[50];
-    swprintf(name, 50, L"%Lf", num);
+    swprintf(name, 50, L"%Lg", num);
     return memWidecat(inter->data.var_name[VN_num], name, false, false);
 }
 

+ 1 - 1
vmcore/src/value.c

@@ -647,7 +647,7 @@ void printValue(Value *value, FILE *debug, bool print_father, bool print_in) {
             fprintf(debug, "(%lld)", value->data.int_.num);
             break;
         case V_dou:
-            fprintf(debug, "(%Lf)", value->data.dou.num);
+            fprintf(debug, "(%Lf : %Lg)", value->data.dou.num, value->data.dou.num);
             break;
         case V_str:
             fprintf(debug, "'%ls'", value->data.str.str);