当前位置: ManBetXapp > 百科 > 科技 >正文

string 转bigdecimal

人气:255 ℃ /2023-03-08 03:28:28

在java中string与bigdecimal互转是怎样的呢?下面就让我们一起来了解一下吧:

1、首先可以由String类型转换为BigDecimal类型。

输入代码:

String ces = "123";

BigDecimal bd = new BigDecimal(ces);

System.out.println("BigDecimal:"+bd);

然后运行即可。

2、接着就能够看到String类型成功转换为BigDecimal类型了。

3、然后再将BigDecimal类型转换为String类型。

输入代码:

BigDecimal qp = new BigDecimal(456);

String str = qp.toString();

System.out.println("String:"+str);

再运行即可。

4、最后就能够看到BigDecimal类型成功转换为String类型了。

以上就是小编的分享了,希望能够帮助到大家。

string转BigDecimal

String转成JSON的实现

String转成JSON

这个依赖很重要,我们将围绕fastjson中的JSONObject这个类来谈转换

com.alibaba fastjson 1.2.15

  1. String转成JSON

String json = "{\"abc\":\"1\",\"hahah\":\"2\"}";JSONObject jsonObject = JSONObject.parseObject(content);一句话就能解决,非常便捷。想要取出值,可以对`jsonObject`进行操作:jsonObject.getString("abc");结果为:`1`

  1. 将String转为list后转为JSON

List list = new ArrayList(); list.add("username"); list.add("age"); list.add("sex"); JSONArray array = new JSONArray(); array.add(list);

  1. 将String转为map后转为JSON

Map map = new HashMap(); map.put("abc", "abc");map.put("def", "efg");JSONArray array_test = new JSONArray();array_test.add(map); JSONObject jsonObject = JSONObject.fromObject(map);

特别注意:从JSONObject中取值,碰到了数字为key的时候,如

{ "userAnswer": { "28568": { "28552": { "qId": "28552", "order": "1", "userScore": { "score": 100 }, "answer": { "28554": "28554" }, "qScore": "100.0", "qtype": "SingleChoice", "sId": "28568" } } }, "paperType": "1", "paperOid": "28567", "instanceId": 30823, "remainingTime": -1, "examOid": "28570"}获取“userAnswer”的value,再转成JSON,可仿照如下形式:JSONObject userJson = JSONObject.parseObject(jsonObject.getString("userAnswer"));但是想获取key"28568"就没这么容易了。直接像上述的写法,会报错。我们浏览fastjson中的源码,总结下,应该如下写:JSONObject question = (JSONObject) JSONObject.parseObject(section.getString("28568"), Object.class);

整体代码:

dao代码很容易,就不贴出来了。package com.xiamenair.training.business.service;import com.alibaba.fastjson.JSONObject;import com.xiamenair.training.business.dao.elearningDao.ELearningExamInstanceDao;import com.xiamenair.training.business.dao.masterdao.ELearningChoiceRecordDao;import com.xiamenair.training.business.model.LasChoiceRecord;import com.xiamenair.training.business.model.entity.elearning.LasExamInstance;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.scheduling.annotation.Scheduled;import org.springframework.stereotype.Service;import java.math.BigDecimal;import java.sql.Blob;import java.sql.SQLException;import java.text.SimpleDateFormat;import java.util.*;@Servicepublic class ChoiceRecordService { //查询数据Dao @Autowired private ELearningChoiceRecordDao eLearningChoiceRecordDao; //转储数据Dao @Autowired private ELearningExamInstanceDao eLearningExamInstanceDao; private ChoiceRecordService() { } private static class SingletonRecordInstance { private static final LasChoiceRecord choiceRecord = new LasChoiceRecord(); } public static LasChoiceRecord getMapInstance() { return SingletonRecordInstance.choiceRecord; } private static SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); /** * 定时任务,每天定时将E学网考试数据分析并转储 * * @param : instanceIdList * @return : void * @author : 28370·皮育才 * @date : 2018/11/20 **/ @Scheduled(cron = "00 00 01 * * ?") public void analysisChoiceRecord() { //获取前一天的时间 Date date = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(calendar.DATE, -1); date = calendar.getTime(); String dateString = simpleDateFormat.format(date); List instanceIdList = eLearningExamInstanceDao.findInstanceIdByFinishTime(dateString); if(0 != instanceIdList.size()){ LasChoiceRecord lasChoiceRecord = getMapInstance(); instanceIdList.stream().forEach(instanceId -> { Blob answerBlob = eLearningExamInstanceDao.findUserAnswer(instanceId); Long userId = eLearningExamInstanceDao.findUserId(instanceId); String content = null; try { content = new String(answerBlob.getBytes((long) 1, (int) answerBlob.length())); } catch (SQLException e) { e.printStackTrace(); System.out.println("SQLEXCEPTION:" e); } JSONObject jsonObject = JSONObject.parseObject(content); //针对本section的"公共"属性直接设置 lasChoiceRecord.setUserId(userId); lasChoiceRecord.setPaperType(jsonObject.getString("paperType")); lasChoiceRecord.setPaperId(jsonObject.getString("paperOid")); lasChoiceRecord.setExamInstanceId(jsonObject.getString("instanceId")); lasChoiceRecord.setRemainingTime(jsonObject.getString("remainingTime")); lasChoiceRecord.setExamId(jsonObject.getString("examOid")); //针对section中的题目进行细化循环拆分 JSONObject userJson = JSONObject.parseObject(jsonObject.getString("userAnswer")); Set sectionSet = userJson.keySet(); Iterator setIt = sectionSet.iterator(); analyzeAnswer(lasChoiceRecord, userJson, setIt); }); } } private void analyzeAnswer(LasChoiceRecord lasChoiceRecord, JSONObject userJson, Iterator setIt) { while (setIt.hasNext()) { //对每个question进行再次拆分出题目 JSONObject section = (JSONObject) JSONObject.parseObject(userJson.getString(setIt.next()), Object.class); Set questionSet = section.keySet(); Iterator queIt = questionSet.iterator(); while (queIt.hasNext()) { JSONObject question = (JSONObject) JSONObject.parseObject(section.getString(queIt.next()), Object.class); String userAnswer = question.getString("answer"); String userScore = question.getString("userScore"); lasChoiceRecord.setQuestionId(question.getString("qId")); lasChoiceRecord.setRecordId(UUID.randomUUID().toString()); eLearningChoiceRecordDao.save(lasChoiceRecord); } } }}

搜索更多有关“ string 转bigdecimal”的信息 [百度搜索] [SoGou搜索] [头条搜索] [360搜索]
CopyRight © 2008-2024 ManBetXappAll Rights Reserved. 手机版