2016-06-16 6 views
0

こんにちは私は、スタックオーバフローが小数点への入力を隠すためにsocialchefのコードを書いているのを見ました。

分数としてマンタと入力するコードを書くか追加するには...
本当に助けが必要です。これは、テーマutilsの内のコードであるSocialchef query css

...

// code thanks to Bryan [https://stackoverflow.com/a/26684935][1] 
public static function convert_decimal_to_fraction($decimal){ 

    $big_fraction = SocialChef_Theme_Utils::float_to_rat($decimal, 0.1); 
    if ($big_fraction) { 
     $num_array = explode('/', $big_fraction); 
     if (count($num_array) > 1) { 
      $numerator = $num_array[0]; 
      $denominator = $num_array[1]; 
      if ($denominator) { 
       $whole_number = floor($numerator/$denominator); 
       $numerator = $numerator % $denominator; 

       if($numerator == 0){ 
        return $whole_number; 
       }else if ($whole_number == 0){ 
        return $numerator . '/' . $denominator; 
       }else{ 
        return $whole_number . ' ' . $numerator . '/' . $denominator; 
       } 
      } 
     } 
    } 
    return 0; 

(校閲追加):StackOverflowの参照:私はあなたの質問に長い時間を見つめていたhttps://stackoverflow.com/a/26684935

答えて

0

...

この機能の機能は次のとおりです。
- そのinput3/4のような小数部の場合、それはのままです。
- ただし、14/4のような小数部の場合、この関数は3 2/4に変更されます。

今、あなたが望むのは、このように「小さく」なるのではなく、この大きな部分をに維持することです。です。
私がこれに正しければ、その答えは本当に簡単です。

$big_fraction = SocialChef_Theme_Utils::float_to_rat($decimal, 0.1); 
if ($big_fraction) { 

/* // Just comment out this whole calculation block 

    $num_array = explode('/', $big_fraction); 
    if (count($num_array) > 1) { 
     $numerator = $num_array[0]; 
     $denominator = $num_array[1]; 
     if ($denominator) { 
      $whole_number = floor($numerator/$denominator); 
      $numerator = $numerator % $denominator; 

      if($numerator == 0){ 
       return $whole_number; 
      }else if ($whole_number == 0){ 
       return $numerator . '/' . $denominator; 
      }else{ 
       return $whole_number . ' ' . $numerator . '/' . $denominator; 
      } 
     } 
    } 

*/ // End of commenting out. 

return $big_fraction; // Return the unmodified value. 
} 

だから、これは単にあなたのWordpress themeから、この数学のヘルパーを無効にします。