166. 分數到小數
public String fractionToDecimal(int numerator, int denominator) {
if (numerator == 0) {
return "0";
}
StringBuilder sb = new StringBuilder();
if (numerator < 0 ^ denominator < 0) {
sb.append("-");
}
long dividend = Math.abs((long) numerator);
long divisor = Math.abs((long) denominator);
sb.append(dividend / divisor);
long remainder = dividend % divisor;
if (remainder == 0) {
return sb.toString();
}
Map<Long, Integer> map = new HashMap<>();
sb.append('.');
while (remainder != 0) {
if (map.containsKey(remainder)) {
sb.insert(map.get(remainder), "(");
sb.append(')');
break;
}
map.put(remainder, sb.length());
remainder *= 10;
sb.append(remainder / divisor);
remainder = remainder % divisor;
}
return sb.toString();
}
相關文章
- AcWing 166. 數獨
- 166. 連結串列倒數第n個節點
- Adroid edittext 輸入小數時只能輸入到小數點後的固定位數
- 數字分頻器設計(偶數分頻、奇數分頻、小數分頻、半整數分頻、狀態機分頻|verilog程式碼|Testbench|模擬結果)
- Excel表格怎麼將小數轉換成百分數?Excel
- 從ODS到ADS,詳解數倉分層!
- 分數
- 數論——數論分塊
- L1-020 帥到沒朋友 分數 20
- js小數轉整數JS
- 微積分小感——1.導數與微分
- Python如何從大到小輸出三個數?Python
- 將三個數按從大到小輸出
- c++格式化輸出(百分數,小數,設定寬度)C++
- matlab符號運算結果的分數怎麼轉化為小數Matlab符號
- 數倉 - [04] 數倉分層
- 分化小數
- JavaScript 天小時分鐘和秒倒數計時JavaScript
- 3D小遊戲(three)-分數顯示更新3D遊戲
- mysql格式化小數保留小數點後兩位(小數點格式化)MySql
- 整數劃分為多數之和
- 數分筆記筆記
- 數局:從火爆到冷清,小龍蝦何去何從?
- iOS小數點格式化:最多保留兩位小數,小數點後末尾的0不要iOS
- 數論小記
- js-正負數保留小數點特定位數JS
- js 將負數或小數轉成正整數JS
- JavaScript浮點數保留兩位小數JavaScript
- PTA-小於m的最大的10個素數 (15分)
- [LeetCode] K-th Smallest Prime Fraction 第K小的質分數LeetCodeFraction質分數
- 二分找數
- 整數二分
- 01 分數規劃
- 01分數規劃
- 2029 最高的分數
- 1062 最簡分數
- 【新特性速遞】自定義數字輸入框的小數分隔符和千分位分隔符
- L1-056 猜數字 分數 20